【问题标题】:iOS instance variable declarationiOS 实例变量声明
【发布时间】:2014-06-08 09:26:34
【问题描述】:

我想知道像这样声明我的实例变量有什么区别:

// inside the implementation file (.m)

 @interface MyCustomObject()
 {
    id _myIvar;
 }

 @end

 @implementation MyCustomObject
 ...
 @end

像这样:

// inside the implementation file (.m)

 @implementation MyCustomObject{
    id _myIvar;
 }
 ...
 @end

【问题讨论】:

    标签: ios objective-c declaration ivar


    【解决方案1】:

    从USE的角度来看,没有区别。

    从声明来看,第一个是Category:

    @interface MyCustomObject()
    {
    
    }
    

    所以如果你在头文件中有一个同名的变量,你的实现文件会看到这个,但是导入那个头文件的其他类文件,将看到另一个。

    这种机制对于将不同的属性或属性分配给同一个 var,但将公开的 var 与私有的内部 var 区别开来非常有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-28
      • 2012-03-10
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      相关资源
      最近更新 更多