苹果的文档(变量限定符部分)中说: https://developer.apple.com/library/ios/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html __strong 是默认值。只要有一个强指针指向对象,它就会“存活”。
假设你在写代码 __weak NSMutableArray* myArray = [[NSMutableArray alloc] init]; 发生了什么?发生的是该数组唯一的引用在弱变量中,这意味着它会立即被释放,myArray被设置为nil。现在假设你写下以下代码:NSMutableArray* myArray = [[NSMutableArray alloc] init]; 如果默认设置为“弱”,会发生什么?这回答了你的问题吗?