繁体   English   中英

非 ARC 项目中的默认属性声明

[英]default property declaration in non-ARC project

如果我只执行以下操作,默认属性值是多少:

@property (nonatomic) UIButton *myButton;

在非 ARC 项目中。 这是保留还是分配?

由于在任何规模的非 ARC 项目中,查看保留、分配或复制的内容非常重要,因此我真的建议不要使用该默认值。

当您查看一个具有多个属性的类时,它很难阅读,这些属性可能具有许多其他属性,例如只读、原子和非原子。 吸气剂=等

尽管将#define 放在常量标题中并不完美,例如

#define ASSIGN nonatomic, assign
#define RETAIN nonatomic, retain

对于您最常见的用法,可以使您的属性定义更加明确,以便当您最终赶上编写 dealloc 方法时,它可以快速检查您需要发布的内容。

我的大部分属性定义看起来像

@property (ASSIGN) Foo* foo; 

或者

@property (RETAIN) Foo* foo;

这就是我所做的,它降低了属性定义上的噪音,并使代码在故障排除或完善手动内存管理应用程序时更容易阅读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM