jin*_*ini 16 iphone objective-c ios
我在int,BOOL等上看到了与非原子,assign相同的readwrite.
我对此感到困惑.我知道在非本机对象上,我们通常做非原子的,保留.
Pen*_*One 31
这是简短的回答:
atomicvs nonatomic主要确保从合成的getter返回完整的值,并且完整的值由合成的setter写入(原子是默认的.)
readwritevs readonly确定合成属性是否具有合成访问器(readwrite具有setter并且是默认值,readonly不具有).
assignvs retainvs copy确定合成访问器如何与Objective-C内存管理方案交互:
assign 是默认值,只是执行变量赋值retain 指定应该在分配时发送新值 - 发送旧值 -release copy指定新值应在发送时发送-copy并发送旧值-release.swi*_*Boy 17
在阅读了如此多的文章,SO帖子和制作演示应用以检查变量属性属性之后,我决定将所有属性信息放在一起
以下是详细的文章链接,您可以在其中找到上述所有属性,这些属性将极力帮助您.非常感谢所有在这里给出最佳答案的人!
例:
@property (nonatomic, retain) NSString *name;
@synthesize name;
Run Code Online (Sandbox Code Playgroud)
例:
@property (nonatomic, assign) NSString *address;
@synthesize address;
Run Code Online (Sandbox Code Playgroud)
只读
例:
@property (nonatomic, readonly) NSString *name;
@synthesize name;
Run Code Online (Sandbox Code Playgroud)
例:
@property (nonatomic, readwrite) NSString *name;
@synthesize name;
Run Code Online (Sandbox Code Playgroud)
Chu*_*uck 16
readwrite意味着存在吸气剂和定位器; 相反的是readonly.通常,您明确声明属性的唯一时间readwrite是在公共接口声明属性的类的类扩展中readonly- 因此它是公共只读的,但在内部您可以获取和设置.
| 归档时间: |
|
| 查看次数: |
13502 次 |
| 最近记录: |