目标C - 声明错误 - 请解释

时间:2013-02-19 14:46:06

标签: ios objective-c

@interface Connections()
{
   static Connections *this;
}
@end

.m文件中的上述代码抛出编译器错误

  

类型名称不允许指定存储类

同时

  

静态

关键词被删除它运作良好 - 这是如此明显。 目的:我希望“Connections”实例静态和私有。

为什么会出现这种情况,请帮忙。

1 个答案:

答案 0 :(得分:18)

您不能在Objective-C类中声明类级变量;相反,你需要在实现文件中“隐藏”它们,通常给它们static - 范围,以便它们不能从外部访问。

Connections.m:

#import "Connections.h"

static Connections *_sharedInstance = nil;

@implementation Connections

...

@end

如果这是一个单例,你通常会定义一个类级访问器来在第一次使用时创建单例:

+ (Connections *)sharedInstance
{
    if (_sharedInstance == nil)
    {
        _sharedInstance = [[Connections alloc] init];
    }
    return _sharedInstance;
}

(你需要在.h文件中添加声明):

+ (Connections *)sharedInstance;