实例和属性之间有什么区别

时间:2013-09-25 10:30:27

标签: ios objective-c xcode

@property(strong, nonatomic) NSArray *array;
NSArray* array= [NSArray arrayWithObjects:@"A string", nil];

声明属性和实例之间的区别是什么。对我来说,它们都可以保存数据。

2 个答案:

答案 0 :(得分:1)

属性不包含数据。属性为ivar提供访问器(setter和getter)。 ivar存储实际数据。属性封装了ivar。

一个实例是ivars的集合。 Instance通过属性提供对ivar数据的访问。

对于更多概念上的疑惑,我建议您仔细阅读Programming with Objective-C

希望有所帮助!

答案 1 :(得分:0)

实例将通过代码生效,直到您从声明它的括号出去。

当您声明具有属性的iVar时,iVar将由您的对象保持。

属性只是Objective-C为你的iVar创建getter / setter,与你的iVar保持强大链接的“指示”,最后不要打扰你自己并保持你的代码清洁。

实例只是一个堆叠在你编写它的位置的指针,主要是在对象的运行时。