objective-c - Objective-C 中的类级别属性(删除警告)

标签 objective-c cocoa warnings

我在某处读到,Objective-C 没有类级别属性,但是可以通过声明类似的内容(在类接口(interface)之前)来实现相同的目的:

static NSInteger initCount;

我使用初始化方法将变量初始化为零:

// interface
+ (void) initialize;

// implementation
+ (void) initialize {
   initCount = 0;
}

在创建/释放实例时递增/递减:

- (id) init {
    self = [super init];

    initCount++;

    return self;
}

- (void) dealloc {
    [name release];

    initCount--;

    [super dealloc];
}

但是 XCode 不断警告我“'initCount'已定义但未使用”。

有什么办法可以解决这个问题,还是我应该忽略这个警告?

最佳答案

它应该放在你的实现文件中,而不是你的接口(interface)中。如果将其放入 header 中,则将在导入 header 的每个文件中创建一个名为 initCount 的单独变量(因为静态变量具有文件范围,并且在文本上#import插入 header 的内容)。

关于objective-c - Objective-C 中的类级别属性(删除警告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456208/

相关文章:

objective-c - 您的第二个 iOS 应用程序 - 启用持久主列表

cocoa - 比较日期,警告从独特的 Objective-C 类型传递参数之一 'compare:'

objective-c - 在 Objective C 中拥有私有(private)成员的不同方式的比较

ios - 传递 BOOL 值

ios - 缩放 ScrollView 内的内容 View 不起作用

cocoa - NSWindow 移动 CGRect

PHP 函数 is_nan() 对字符串抛出警告

c++ - 帮助解决这些警告。 [遗产]

haskell - 阻止 GHC 警告我一个特定的缺失模式

ios - 按值过滤具有可变键的数据