第一篇文章。对不起,如果我搞砸了代码规则。我正在尝试从 Big Nerd Ranch Guide 中学习 Objective C。我将发布处理强引用的示例。
#import <Foundation/Foundation.h>
@interface Asset : NSObject
{
NSSTRING *label;
unsigned int resaleValue;
}
@property (strong) NSString *label;
@property unsigned int resaleValue;
@end
所以基本上 NSString 需要一个强引用,而 int 不需要。我知道 NSString 是一个对象,并且我读过如果没有指定任何变量,则为变量赋予 assign 属性。
因此,如果 assign 足以让 int 之类的东西在拥有它的对象被释放之前不被释放,那么为什么不能让 Asset 对象中的 NSString 对象不被释放呢?最终,我想我仍然对 assign 在引用计数方面的作用与 strong 的作用感到困惑(或者我应该说 retain ,因为这是在 ARC 中替换的 strong )。