在Swift中访问objc静态对象的属性

时间:2015-12-02 22:17:33

标签: ios swift

我使用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单例的属性。

由于

1 个答案:

答案 0 :(得分:1)

问题是sharedInstance返回id而不是CloudConfig。修复Objective-C声明或在Swift中强制转换。