Objective-C中"@public"是什么意思?

Ty.*_*Ty. 3 iphone objective-c

在阅读了关于@private问题后,我明白了它是如何工作的.但是,由于所有变量都默认为@protected,并且在没有定义访问器的情况下无法真正访问变量,@public究竟做了什么?你什么时候用它?

Jer*_*myP 5

@public意味着ivar可以在任何地方访问.

@private意味着类的实例可以访问ivar

@protected意味着类和子类的实例可以访问ivar.

要访问类外的公共ivar,请使用标准的C struct指针运算符 - > eg

foo->instanceVarible = xyzzy;
Run Code Online (Sandbox Code Playgroud)

你什么时候用它?就我而言:永远不会.我总是将实例变量定义为@private(IBOutlets除外),并使用访问器在类外部访问它们.