Objective-C中的Swift字典作为NSMutableDictionary
在我的Swift课程中,我有:Objective-C中的Swift字典作为NSMutableDictionary,objective-c,swift,Objective C,Swift,在我的Swift课程中,我有: class Model : NSObject { var localSettings = Dictionary<String, NSNumber>() class var sharedInstance: Model { struct Singleton { static let instance = Model() } return Singleton.ins
class Model : NSObject {
var localSettings = Dictionary<String, NSNumber>()
class var sharedInstance: Model {
struct Singleton {
static let instance = Model()
}
return Singleton.instance
}
}
我遇到编译错误:
Expected method to write dictionary element not found on object of type 'NSDictionary<NSString *,NSNumber *> *'
在“NSDictionary*”类型的对象上找不到写入dictionary元素的预期方法
我使用的是Xcode 8和Swift 2.3每当您在Swift中修改dict/数组时,setter会再次被调用,如果您向集合中添加新元素,ObjC上就不会发生这种情况,我认为这就是为什么可变集合会桥接到其不可变的等价集合 您可以创建一个可变副本,对其进行修改,并将其设置为属性,但这将非常冗长,我认为更好的解决方案是向
Model
添加修改设置字典的方法
Expected method to write dictionary element not found on object of type 'NSDictionary<NSString *,NSNumber *> *'