La faiblesse de la NSString variable n'est pas nul, après le réglage de la seule référence forte à néant

J'ai un problème avec ce 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);

J'attends tous les pointeurs être nil à ce moment, mais ils ne le sont pas et je ne comprends pas pourquoi.
La première (fort) pointeur est nil mais les deux autres ne le sont pas. Pourquoi est-ce?

OriginalL'auteur marcL | 2012-06-06