我在观看F8-2016 Building iOS Tooling at Facebook Scale视频时,在 7:01 发现了一个有趣的代码部分。
Facebook 以这种方式在 Objective-C 中定义了一个静态常量:
static __unsafe_unretained NSString * const kAuthorKey = @"AUTHOR";
到目前为止,我以相同的方式声明了我的静态常量,但没有__unsafe_unretained
. 如果没有这个修饰符,常量将会是strong
,但由于它在应用程序运行期间始终存在,所以它是strong
还是都没有关系__unsafe_unretained
。
我错过了什么吗?Facebook有什么理由使用__unsafe_unretained
吗?