J'ai essayé d'afficher imagecells dans tableview, mais le programme se bloque ..affichage cellule d'image dans tableview
voici ma classe ImageCell:
@interface ImageCell : NSTextFieldCell {
NSImage *imageIcon;
NSString *labelStr;
}
@property (retain) NSImage *imageIcon;
@property (retain) NSString *labelStr;
- (id) initWithLabel:(NSString *) labelString imageName:(NSString *) imageString;
lorsque le programme est exécuté, il se bloque avec le message d'erreur:
-[NSTextFieldCell labelStr]: unrecognized selector sent to instance 0x10011f160
mais je l'ai déjà fournir ma propre classe ImageCell ...
est-il chose que j'ai mal fait, merci !!!
ici est mon délégué tableview & datasource:
- (void) awakeFromNib {
self.list = [[NSMutableArray alloc] init];
[self.list addObject:[[ImageCell alloc] initWithLabel:@"Library" imageName:@"album.tiff"]];
// set first cell here
NSTableColumn *col = [[self.tableView tableColumns] objectAtIndex:0];
[col setDataCell:[list objectAtIndex:0]];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)pTableView {
return [self.list count];
}
- (id)tableView:(NSTableView *)pTableView objectValueForTableColumn:(NSTableColumn *)pTableColumn row:(int)pRow {
ImageCell *imageCell = (ImageCell *)[self.list objectAtIndex:pRow];
return imageCell.labelStr;
}
- (void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell
forTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)pRow {
ImageCell *imageCell = (ImageCell *)cell;
imageCell.image = [[self.list objectAtIndex:pRow] imageIcon];
[imageCell setTitle:imageCell.labelStr];
}
Y at-il un @synthesize labelStr dans votre code? – krzyspmac
ya, il y en a un ... – Frost
vous devriez l'utiliser pour la 2ème ligne: self.list = [NSMutableArray array]; – ssj