Same code, not the same place, different results
- by Tom
Hi!
I'm trying to something pretty simple but I don't understand why the second bit of code is giving me a bad access error...
First:
- (UITableViewCell *)tableView:tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
         static NSString *CellIdentifier = @"Cell";
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
     if (cell == nil) {
          cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
     }
     // Tom: Converting the row int to a string and adding 1 to it so that the rows fit with the array indexes.)
     NSString *key = [NSString stringWithFormat:@"%d", indexPath.row+1];
     NSArray *array = [self.tableDataSource objectForKey:key];
     NSLog(@"%@", key);
     NSLog(@"%@", [array description]);
     cell.textLabel.text = [array objectAtIndex:1];
     return cell;
}
That code gives me exactly what I want:
2010-03-18 15:18:12.884 PremierSoins[28005:40b] 1
2010-03-18 15:18:12.885 PremierSoins[28005:40b] (
    7,
    Blessures
)
2010-03-18 15:18:12.892 PremierSoins[28005:40b] 2
2010-03-18 15:18:12.893 PremierSoins[28005:40b] (
    18,
    "Test 2"
)
But then, the second:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     NSString *key = [NSString stringWithFormat:@"%d", indexPath.row+1];
     NSArray *array = [self.tableDataSource objectForKey:key];
     NSLog(@"%@", key);
     NSLog(@"%@", [array description]);
}
Is only able to get me the key, but the description of the array makes it crash...
tableDataSource is a NSMutableDictionary containing multiple arrays...
Like this:
{
    1 =     (
        7,
        Blessures
    );
    2 =     (
        18,
        "Test 2"
    );
}
Do you have any clue? I've been looking at this since yesterday...
Thanks!
Tom