我使用Xcode 7.1在Swift 2中得到以下编译错误 CloudConfig对象是一个返回静态
的客观C单例类CloudConfig.h
@interface CloudConfig : NSObject<NSCoding, NSMutableCopying>
{
}
@property (nonatomic, retain) NSString* brandAccountName;
CloudConfig.mm
+ (id)sharedInstance {
static CloudConfig *sharedInstance = nil;
@synchronized(self) {
if (sharedInstance == nil)
sharedInstance = [[self alloc] init];
}
return sharedInstance;
}
var cfg = CloudConfig.sharedInstance()
cfg.brandAccountName = "somestring"
无法分配属性:'cfg'是不可变的
这适用于Objective C但在Swift 2中失败。如何访问objc单例的属性。
由于
答案 0 :(得分:1)
问题是sharedInstance
返回id
而不是CloudConfig。修复Objective-C声明或在Swift中强制转换。