2016-09-30 68 views
0

我注意到许多人在模型中分别声明了多个属性。像这样,例如:在一个属性中声明多个对象

@property (strong , nonatomic) NSMutableString *name; 
@property (strong , nonatomic) NSMutableString *surname; 
@property (strong , nonatomic) NSMutableString *fatherName; 

我明白在ViewControllers的情况下,我们分别定义它们,因为每个插座都连接到它自己的对象。例如:

@property (weak , nonatomic) IBOutlet UIView *view; 
@property (weak , nonatomic) IBOutlet UIImageView *imageView; 
@property (weak , nonatomic) IBOutlet UITextfield *textfield; 

我想知道为什么每个人都单独定义它们。这可能是因为内存管理,你想声明一些属性比较弱,有些则比较强。即使情况并非如此,我从来没有见过一个人宣布这样的属性:

@property (strong , nonatomic) NSMutableString *name , *surname , *fatherName ; 

这是什么原因?我测试了我给出的两个例子,并且它们工作正常。有什么我失踪或不理解?

回答

2

在一行中声明同一类型的多个(非出口)属性的语法非常好。该功能与每行声明一个属性的标准方式完全相同。

+0

ohhh感谢让我知道为什么人们不使用这种声明,即使是高素质的教授也分别宣布他们... – dreamBegin

+1

我不知道。可读性?也许是因为Apple语言指南中未明确提及它。我个人甚至在Swift中使用它。一个缺点是它不支持编译器的文档注释功能。这可能是一个严重的原因。 – vadian

+0

哦谢谢感谢您的时间:) – dreamBegin