@interface AClass : SomeType {
@protected
NSMutableArray* amINotAlreadyProtected; //?
}
@protected
如果@protected
是默认代码,为什么需要此代码?这段代码是由一位非常有经验的程序员编写的,但我自己会省略说明符。
@interface AClass : SomeType {
@protected
NSMutableArray* amINotAlreadyProtected; //?
}
@protected
如果@protected
是默认代码,为什么需要此代码?这段代码是由一位非常有经验的程序员编写的,但我自己会省略说明符。
不需要关键字,因为它是@protected
默认行为。
但是,无论如何,一些程序员倾向于使用它,以防经验不足的程序员在以后出现并且不知道这一点。还可以提到它增加了代码的可读性,以防有一些变量是受保护的以及其他私有或公共的。
它来自一个你可能会看到的时代:
@interface Foo:Bar
{
@private
… ivars …
@protected
… ivars …
}
…
@end
也就是说,虽然 @protected 是默认设置,但如果您已切换到其他变体之一并想要切换回来,则需要使用它。而且,是的,有理由(通常是不好的理由)来确保 ivar 声明顺序从发布到发布都得到保留。
除此之外,包含默认情况的关键字可确保学究气的灰胡子(如我自己)可以在声明中完全明确。
然而,像@property
这样的现代添加意味着不再需要这种恶作剧。