<分区>
您好,我有 NSUserDefaults
的扩展,我需要使用 Obj-C 访问它。
扩展中的结构
public struct UserDefaultsEntry {
let key: String
func get() -> AnyObject? {
return NSUserDefaults.standardUserDefaults().objectForKey(key)
}
func set(value: AnyObject) {
switch value {
case is Bool:
NSUserDefaults.standardUserDefaults().setBool(value as! Bool, forKey: key)
break
case is String:
NSUserDefaults.standardUserDefaults().setObject(value as! String, forKey: key)
break
case is NSData:
NSUserDefaults.standardUserDefaults().setObject(value as! NSData, forKey: key)
break
default:
break
}
}
func remove() {
NSUserDefaults.standardUserDefaults().removeObjectForKey(key)
}
}
同一扩展类中的静态变量
public static let testDefault = UserDefaultsEntry(key: "testDefault")
所以我可以通过使用在swift类中正常调用它
let string = "test"
NSUserDefaults.testDefault.set(string)
但未能在 Obj-C 类中调用它。那我怎么调用它呢?提前致谢
编辑: 尝试使用
[NSUserDefaults.testDefault get];
但是我得到了
Property 'testDefault' not found on object type 'NSUserDefaults'