实现文件中的变量

时间:2014-12-01 08:09:30

标签: objective-c

我刚开始接受目标c并且我一直在线学习教程。 在本教程中,它在大括号中的实现(.m文件)中设置NSMutableAray指针。 我认为应该在头文件中声明指针变量。 在花括号中的实现文件中使用指针变量的原因/好处是什么?

@interface AppDelegate ()

@end

@implementation AppDelegate
{
    NSMutableArray *_players;
}

2 个答案:

答案 0 :(得分:0)

显然,私人界面在

之外是不可用的

答案 1 :(得分:0)

@implementation声明实例变量的两个原因:

  1. 实例变量对于实现是私有的,它是隐式私有的,不能公开,甚至没有子类可以看到它。这将实现外部的访问限制为实例变量的值,或将其值设置为接口中声明的公共(或受保护)方法/属性。

  2. 通过删除与该类的用户无关的详细信息来解除公众@interface的混乱,但仅限于其实现。

  3. 最初Objective-C不支持在@implementation中声明实例变量,但它现在有几个版本的Xcode / clang。在旧代码中,您仍会在@interface中看到实例变量,但在新代码中更好地在@implementation中声明它们。

    HTH