我是 iOS 编程新手。谁能告诉我下面这行代码的确切含义
@property(**nonatomic, retain**) UIView *singleTapView;
我已经使用@property 很多次了,但实际上并不知道(nonatomic, retain or assign or copy)
函数的确切含义。任何人都可以帮我解决这个问题..
谢谢
最佳答案
这是一个应该更频繁地提出的问题。
@property
是一个简单的属性声明。这里没有新内容。
nonatomic
表示没有为相应的@synthesize
访问器实现对象锁定,只是直接提供该属性。这比 atomic
更快,但在多线程用例中可能会导致部分写入值等。
如果您使用默认值(atomic
),则@synthesized 方法使用对象级锁来确保对属性的多次读/写被序列化。作为Apple docs指出,这并不意味着整个对象是线程安全的,但属性读/写是线程安全的。
如果您编写自己的访问器方法,则这不会执行任何操作。但大多数程序员还是会编写它。
保留的东西稍微简单一些。基本上,这意味着您想要一个使用
的对象alloc
-> init
-> retain
-> release
做事的周期。基本上,除了像 bool 值和整数这样的原语,你将把它用于所有东西。
关于iphone - 属性声明中的非原子和保留是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5153760/