【问题标题】:What is the different between variable declared in class extension and variable in implementation class类扩展中声明的变量和实现类中的变量有什么区别
【发布时间】:2014-05-13 06:59:55
【问题描述】:
@interface TestViewController ()
{
    NSString *a;
}
@end

@implementation TestViewController
{
    NSString *b;
}

好像 *a 和 *b 是一样的,都是这个文件中的私有全局变量。
谁能告诉我有什么区别?

【问题讨论】:

    标签: ios iphone objective-c


    【解决方案1】:

    都是实例变量,不是全局变量,其他的两个声明方法是一样的。能够在 @implementation 中声明实例变量是 Objective-C 的一个较新的特性,并且是更好的位置 - 实例变量是类实现的一部分,并且(通常)不是(公共)接口的一部分。

    【讨论】:

    • 不错!非常感谢:)
    【解决方案2】:

    在类扩展中声明的@properties 在其他类中不可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多