Слабая переменная NSString не равна нулю после установки единственной строгой ссылки на ноль

У меня проблема с этим кодом:

__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);

Я ожидаю, что все указатели будут nilв это время, но это не так, и я не понимаю, почему. Первый (сильный) указатель — это nil, а два других — нет. Почему это так?

11
задан Josh Caswell 26 November 2015 в 08:12
поделиться