Dans un projet à base de vue-simple, j'ai ajouté une variable dans mon fichier appDelegate
en utilisant le code suivant:est-ce que les pointeurs d'objectif-c peuvent être réutilisés?
NSObject* gObj;
@property(noatomic,retain) NSObject* gObj;
@synthesize gObj;
Ensuite, dans ma testviewController.m
méthode viewDidLoad, j'ai ajouté le code de test suivant:
testAppDelegate* delegate = [[UIApplication sharedApplication] delegate];
NSObject* p1 = [NSObject alloc] init];//the reference count is 1
delegate.gObj = p1;//the reference count of p1 is 2
[p1 release];//the ref of p1 is 1 again
[delegate.gObj release];//the ref of p1 is 0
NSObject* p2 = [NSObject alloc] init]; // a new object
delegate.gObj = p2;//this time the program crash, why? should not the pointer be supposed to be re-used again?
Merci.
Formatez votre article de sorte que le code soit dans des blocs de code. Nettoie ça. Il va payer des dividendes. – Sneakyness