[résolu] utilisation d'une sous-classe

tethystethys Membre
janvier 2012 modifié dans API AppKit #1
Bonjour,
pour la gestion d'éléments déplacés dans ma vue (par drag&drop), j'utilise une sous-classe Piece ayant pour attributs le nom de l'image et la position où la placer,
<br />@interface Piece : NSObject {<br />	NSString *string;<br />	NSPoint pos;<br />}<br /><br />@property (readwrite,assign) NSString *string;<br />@property (readwrite,assign) NSPoint pos;<br /><br />@end<br />

j'utilise ensuite cette classe dans ma vue lorsque j'ajoute une pièce

<br />	Piece *piece1= [[Piece alloc]init];<br />	[piece1 setString:s];<br />	[piece1 setPos:p];<br />	[liste addObject:piece1];<br />


faut-il définir une méthode d'init dans ma classe ?
il me semblait qu'il y en avait une par défaut (ma classe dérive de NSObject)
car j'ai un EXC_BAD_ACCESS lorsque j'essaie de lire le contenu de ma liste par la suite (qui est un NSMutableArray)

Réponses

  • zoczoc Membre
    05:30 modifié #2
    Non, init est hérité de la classe mère s'il n'est pas redéfini.


    Par contre, attention à  la propriété 'string'... Elle devrait avoir l'attribut 'retain' ou 'copy' si tu ne veux pas avoir de problèmes  ;) . Et c'est probablement ce qui produit l'EXC_BAD_ACCESS ('string' pointant sur un objet ayant été détruit car non retenu)...
  • tethystethys Membre
    05:30 modifié #3
    ok, je viens de faire le lien, je comprends mieux ces mots-clés maintenant..
    merci zoc !
Connectez-vous ou Inscrivez-vous pour répondre.