是Objective-C中的属性“;静态;?

是Objective-C中的属性“;静态;?,objective-c,oop,properties,static,scope,Objective C,Oop,Properties,Static,Scope,我正在建立对面向对象编程(特别是Objective-C)中作用域的理解。我知道静态变量是在定义它们的类中的多个方法中始终不会失去其值的变量*属性的行为方式是否相同?我知道,对于类的子类中的每个实例,属性都返回其初始值。但是,它们在整个类中保留值(通过各种方法预先设置或修改),对吗? *静态变量是否仅在定义它们的类中的多个方法中始终保留其值,还是在定义它们的类的所有实例中始终保留其值?如果是这样,那么我就可以理解为什么属性不会被视为具有静态行为。但如果不是,那么属性可以被认为是静态的,对吗 此外,

我正在建立对面向对象编程(特别是Objective-C)中作用域的理解。我知道静态变量是在定义它们的类中的多个方法中始终不会失去其值的变量*属性的行为方式是否相同?我知道,对于类的子类中的每个实例,属性都返回其初始值。但是,它们在整个类中保留值(通过各种方法预先设置或修改),对吗?

*静态变量是否仅在定义它们的类中的多个方法中始终保留其值,还是在定义它们的类的所有实例中始终保留其值?如果是这样,那么我就可以理解为什么属性不会被视为具有静态行为。但如果不是,那么属性可以被认为是静态的,对吗


此外,静态变量是否与全局变量不同?

Objective-C中的实例属性默认由实例变量支持,因此它们的行为与静态变量不同。可以在实例上设置属性,在将其设置为其他值之前,该值将保持不变

然而,属性只是方法调用之上的一种特殊语法。在方法内部可以做的事情没有限制,因此理论上可以通过静态变量“返回”实例属性,编译器会很好地接受它。然而,这样的安排是不可读的,所以我强烈建议不要使用它