Objective c 定义不带属性的实例变量

Objective c 定义不带属性的实例变量,objective-c,properties,Objective C,Properties,我知道,在Objective C中,当我在接口或实现的顶部使用大括号时,可以定义一个没有属性的实例变量。但是这样做的好处是什么呢?最大的好处是,根据您设置的关键字@private/@protected/@public,这个变量实际上可以是private/protected/public成员 看看这个我认为您的问题应该是将属性与定义实例变量的优势进行比较 大多数属性由实例变量支持。默认情况下,readwrite属性将由实例变量支持,实例变量将由编译器自动合成。只读属性不会合成实例变量,它只合成一个

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

最大的好处是,根据您设置的关键字@private/@protected/@public,这个变量实际上可以是private/protected/public成员


看看这个

我认为您的问题应该是将属性与定义实例变量的优势进行比较

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

属性提供由编译器合成的方法来访问实例变量。我说不出哪一个有什么好处,就用适合你情况的那一个吧


您可能需要了解更多有关财产的信息

不要寻找优势。这是objective-c的过时说法。