Question

J'ai lu beaucoup de choses sur l'appel @SyntheSize. À propos de son utilisation, ...
J'ai donc fait un test, et son résultat me donne une sensation étrange. Laisse-moi expliquer...

Permet d'écrire dans un objet .h

@interface AnObject : NSObject {
    NSString* aaTest;
}

@property(nonatomic, retain) NSString* bbTest;

-(void)log;

Puis dans son .m

@synthesize bbTest = aaTest;

-(void)log {
    NSLog(@"Inside var : %@", aaTest);
    NSLog(@"Inside property : %@", self.bbTest);
}

Dans une autre .m, écrivons:

#import "AnObject.h"

puis dans une méthode:

    AnObject* testCtrl = [[AnObject alloc] init];
    testCtrl.bbTest = @"Some string";
    NSLog(@"Outside property : %@", testCtrl.bbTest);
    [testCtrl log];

Nous sommes OK qu'ici, y compris uniquement le .h, l'appel synthétisé n'est pas connu de l'autre objet. En regardant le journal, il donne:

Outside property : Some string
Inside var : Some string
Inside property : Some string

Alors ... n'est-ce pas étrange?

Était-ce utile?

La solution

Dans votre appel synthétisé, vous affectez BBTest à AATEST (notez le capital t). Ce n'est pas la même chose qu'Aatest

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top