Problème de TableView (Mac Os X)
Bonsoir,
Je débute en Objective C est me voilà planter avec un problème que je n'arrive pas a résoudre...concernant les TableView
L'idée étant dans un TableView de 2 colonnes d'afficher:
colonne1 : l'index d'un NSArray qui est la source de données
colonne2 : Le contenu du NSArray
Dans IB j'ai bien un NSArray qui a pour datasource et delegate ma classe MyDataController...
Voici le code de ma classe:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #import "MyDataController.h"
@implementation MyDataController
- (void)awakeFromNib {
test = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",nil];
}
- (int)numberOfRowsInTableView:(NSTableView *)tableView {
return [test count];
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row {
NSParameterAssert(row >= 0 && row < [test count]);
NSString *columnID = [ tableColumn identifier ];
id returnValue;
if ( [ columnID isEqualToString:@"colone1" ] ) {
returnValue = [NSString stringWithFormat:@"index %d:", row];
}
if ( [ columnID isEqualToString:@"colone2" ] ) {
returnValue = [test objectAtIndex:row];
}
return returnValue;
}
- (void)dealloc {
[super dealloc];
}
@end |
Le soucis est que dès que le TableView est rempli (oui il se rempli correctement), j'ai le message d'erreur :
"EXC_BAD_ACCESS"....
En fouillant un peu avec la variable d'environnement NSZombie j'obtient :
"2010-09-27 21:06:37.969 SimpleTable[9847:a0f] *** -[CFArray count]: message sent to deallocated instance 0x139560"
Je comprend bien qu'un message est envoyé à mon instance que n'existe plus mais je ne vois pas comment régler le problème :oops:
Des idées ?!
Bonne soirée...