我刚开始接受目标c并且我一直在线学习教程。 在本教程中,它在大括号中的实现(.m文件)中设置NSMutableAray指针。 我认为应该在头文件中声明指针变量。 在花括号中的实现文件中使用指针变量的原因/好处是什么?
@interface AppDelegate ()
@end
@implementation AppDelegate
{
NSMutableArray *_players;
}
答案 0 :(得分:0)
显然,私人界面在
之外是不可用的答案 1 :(得分:0)
在@implementation
声明实例变量的两个原因:
实例变量对于实现是私有的,它是隐式私有的,不能公开,甚至没有子类可以看到它。这将实现外部的访问限制为实例变量的值,或将其值设置为接口中声明的公共(或受保护)方法/属性。
通过删除与该类的用户无关的详细信息来解除公众@interface
的混乱,但仅限于其实现。
最初Objective-C不支持在@implementation
中声明实例变量,但它现在有几个版本的Xcode / clang。在旧代码中,您仍会在@interface
中看到实例变量,但在新代码中更好地在@implementation
中声明它们。
HTH