Je classe d'objets de données:Pourquoi mon programme plante-t-il lors de l'accès à une propriété avec soi-même? et un accesseur synthétisé?
@interface Item: NSObject {
NSString *title;
NSString *text;
}
@property (copy) NSString *title;
@property (copy) NSString *text;
@end
@implementation Item
@synthesize text;
- (void)updateText {
[email protected]"new text";
}
- (NSString *)title {
return title;
}
- (void)setTitle:(NSString *)aString {
[title release];
title = [aString copy];
}
@end
je peux définir la propriété title
très bien lors de l'utilisation des méthodes non synthétisés, mais quand je mets une propriété avec accesseurs synthétisés je reçois une erreur dans la méthode updateText
sur la ligne qui lit:
[email protected]"new text";
L'erreur est:
*** NSInvocation: warning: object 0x462d2c0 of class '_NSZombie_CFString' does not implement methodSignatureForSelector: -- trouble ahead
*** NSInvocation: warning: object 0x462d2c0 of class '_NSZombie_CFString' does not implement doesNotRecognizeSelector: -- abort
Pourquoi identiques non synthétisé un Les ccesseurs fonctionnent et ceux synthétisés ne fonctionnent pas?
L'objet est créé dans le thread principal et Error s'affiche lorsqu'il est accédé à partir du thread NSOperation.
L'objet est créé dans le thread principal et Error s'affiche lorsqu'il est accédé à partir du thread NSOperation. – Rod