Schwach NSString-variable nicht nil ist, nach der Einstellung nur mit einer starken Referenz auf nil

Ich habe ein problem mit diesem code :

__strong NSString *yourString = @"Your String"; 
__weak NSString *myString = yourString;
yourString = nil;
__unsafe_unretained NSString *theirString = myString;
NSLog(@"%p %@", yourString, yourString);
NSLog(@"%p %@", myString, myString);
NSLog(@"%p %@", theirString, theirString);

Erwarte ich, dass alle Zeiger werden nil zu dieser Zeit, aber Sie sind nicht und ich verstehe nicht, warum.
Die ersten (starken) Zeiger nil aber die anderen beiden sind nicht. Warum ist das so?

InformationsquelleAutor marcL | 2012-06-06

Schreibe einen Kommentar