我知道,当我在界面顶部或实现中使用花括号时,在Objective C中可以定义一个没有属性的实例变量。但是当我这样做时有什么好处呢?
答案 0 :(得分:0)
最大优点是这个变量实际上可以是私有/受保护/公共成员,根据您设置的关键字(@ private / @ protected / @ public)。
看看这个question
答案 1 :(得分:0)
我认为你的问题应该是与属性进行比较,定义实例变量的优势是什么。
大多数属性都由实例变量支持。默认情况下,readwrite属性将由实例变量支持,该变量将由编译器自动合成。 (readonly属性不会合成实例变量,它只合成一个getter方法,readwrite属性合成一个实例变量,一个getter和一个setter方法)
因此,属性提供了由编译器合成以访问实例变量的方法。我不能说哪一个有任何优势,只要使用适合你案例的那个。
您可能需要了解有关财产的更多信息。 Properties Encapsulate an Object’s Values