En rapport avec Cocoa par la pratique . (chap 5)
CrazyJo
Membre
Bonjour, 8--)
Pourquoi il me met cette erreur. Pour info c'est par rapport au chap5 dans cocoa par la pratique ou on traite les nstableview. J'ai fait leur exemple et là j'essaie de refaire un autre projet en ajoutant plus de chose( colonnes ..). Le code du livre est celui-ci:
- (int)tableView:(NSTableView *)aTableView<br /> objectValueForTableColumn:(NSTableColumn *)aTableColumn<br /> row:(int)rowIndex<br />{<br /> NSString *identifier = [aTableColumn identifier];<br /> Cassette *cassette = [cassettesArray objectAtIndex:rowIndex];<br /> return [cassette valueForKey:identifier]; // ici 2 même warning: return makes integer from pointer without a cast<br />}<br />
Pourquoi il me met cette erreur. Pour info c'est par rapport au chap5 dans cocoa par la pratique ou on traite les nstableview. J'ai fait leur exemple et là j'essaie de refaire un autre projet en ajoutant plus de chose( colonnes ..). Le code du livre est celui-ci:
- (id)tableView:(NSTableView *)aTableView<br /> objectValueForTableColumn:(NSTableColumn *)aTableColumn<br /> row:(int)rowIndex<br />{<br /> // quel est l'identificateur de la colonne ?<br /> NSString *identifier = [aTableColumn identifier];<br /> // quelle personne ?<br /> Person *person = [employees objectAtIndex:rowIndex];<br /> //quelle est la valeur de l'attribut qualifié d'identificateur ?<br /> return [person valueForKey:identifier];<br />}<br />
c'est le même que le miens ... je ne comprends donc pas ce qui cloche . C'est le seul warning que j'ai . Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
(id) (int) +
Cordialement.
Merci
Et oui, ça permet de régler les préférences par défaut.
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/doc/uid/20000140-9552
et
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/occ/clm/NSDictionary/dictionary
[tt]d = [NSMutableDictionary dictionary][/tt] est un synonyme (on appelle ça un "constructeur de commodité") exact de : [tt]d = [[[NSMutableDictionary alloc] init] autorelease];[/tt].
C'est expliqué dans la doc de NSDictionary et NSMutableDictionary, mais de toute façon c'est une règle plutôt générale : il existe souvent une méthode qui porte le même nom que la classe ("le "NS" en moins et avec une minuscule), qui sert de constructeur de commodité, et équivaut à alloc+init+autorelease.
Ainsi tu as le même principe avec [tt]NSString* s = [NSString string];[/tt] équivalent à [tt]NSString* s = [[[NSString alloc] init] autorelease][/tt] ou [tt]NSString* s = [NSString stringWithFormat:@%d éléments,5];[/tt] équivalent à [tt]NSString* s = [[[NSString alloc] initWithFormat:@%d éléments,5] autorelease][/tt].