定义不带属性的实例变量

时间:2014-10-28 11:05:46

标签: objective-c properties

我知道,当我在界面顶部或实现中使用花括号时,在Objective C中可以定义一个没有属性的实例变量。但是当我这样做时有什么好处呢?

2 个答案:

答案 0 :(得分:0)

最大优点是这个变量实际上可以是私有/受保护/公共成员,根据您设置的关键字(@ private / @ protected / @ public)。

看看这个question

答案 1 :(得分:0)

我认为你的问题应该是与属性进行比较,定义实例变量的优势是什么。

大多数属性都由实例变量支持。默认情况下,readwrite属性将由实例变量支持,该变量将由编译器自动合成。 (readonly属性不会合成实例变量,它只合成一个getter方法,readwrite属性合成一个实例变量,一个getter和一个setter方法)

因此,属性提供了由编译器合成以访问实例变量的方法。我不能说哪一个有任何优势,只要使用适合你案例的那个。

您可能需要了解有关财产的更多信息。 Properties Encapsulate an Object’s Values