objective-c - 在 Objective-C 中定义私有(private)变量的最佳方式

标签 objective-c

我想在 MyClass.m 文件中定义私有(private)实例变量。在我看来,有两种方法可以做到这一点:

  1. 使用类扩展

    @interface HelloViewController ()
    {
         int value;
    }
    
  2. 在@implementation部分定义

    @implementation HelloViewController
    {
        int value;
    }
    

哪个更好?

我认为最近 Apple 的编码风格是使用类扩展?

例如MasterViewController.m 由'Master-Detail Application Template'生成

@interface MasterViewController () {
    NSMutableArray *_objects;
}
@end

最佳答案

做到这一点的“现代 Objective-C”方法是在您的实现 block 中声明它们,如下所示:

@implementation ClassName {
    int privateInteger;
    MyObject *privateObject;
}

// method implementations etc...

@end

参见 this我之前的帖子有更多详细信息。

关于objective-c - 在 Objective-C 中定义私有(private)变量的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13532862/

相关文章:

ios - 使用 valueForKeyPath 查找 NSMutableArray 的平均值

ios - block 对象会导致保留周期吗?

ios - 如何在 Obj-C 中解析 JSON

objective-c - 本地或实例变量

objective-c - 按字符串中包含的数字对 NSString 的 NSArray 进行排序。重新排列字符串,使数字位于开头?

ios - 为 NSTextStorage 子类设置 viewController 的布局管理器时字形索引无效

objective-c - 如何将 native C 类型与 performSelectorOnMainThread :? 一起使用

ios - 恢复单个应用程序购买 iOS

iphone - 更改 NavigationBar 颜色(背景颜色)

iphone - 创建前面有 UIlabel 的 alpha UIView