【问题标题】:Objective-C private instance variables definitionObjective-C 私有实例变量定义
【发布时间】:2011-03-29 11:54:58
【问题描述】:

我们在哪里定义私有实例变量有什么不同吗?据我了解有两种可能性:

1) 在头文件中

@interface MyViewController : UIViewController {
    @private
    NSString *fooString;
}

2) 第二种方式是在实现中定义:

@implementation MyViewController
NSString *fooString;

有什么区别?干杯!

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    在第二种情况下,fooString 不是实例变量 - 它是全局变量,所以你的两种情况完全不同

    【讨论】:

      【解决方案2】:

      第一种方式定义了一个私有实例变量。 MyViewController 类的每个对象都有自己的私有 fooString。

      第二种方式定义了一个全局变量。只有一个 fooString 实例,它对 任何 具有以下声明的源文件可见:

      extern NSString *fooString;
      

      【讨论】:

        【解决方案3】:

        第一个是您创建的每个 MyViewController 的唯一 fooString

        第二个是每个 MyViewController 共享的 fooString

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-17
          • 2012-07-08
          • 2013-02-02
          • 2023-04-04
          • 2013-03-01
          • 2013-11-27
          • 2012-11-12
          • 2011-05-07
          相关资源
          最近更新 更多