【发布时间】:2019-12-02 07:03:59
【问题描述】:
在我的Common 模块(框架项目)中有用户默认值的属性包装器,
@propertyWrapper
public class MyUserDefaultWrapper<T> {
let key: String
let defaultValue: T
public init(_ key: String, defaultValue: T) {
self.key = key
self.defaultValue = defaultValue
}
public var wrappedValue: T {
get {
let suite = UserDefaults(suiteName: "MySuite")
return suite?.object(forKey: key) as? T ?? defaultValue
}
set {
let suite = UserDefaults(suiteName: "MySuite")
suite?.set(newValue, forKey: key)
}
}
}
在我的App 模块(主项目)中,我声明客户端使用MyUserDefaultWrapper
import Common
public class MyUserDefaultsCommon: NSObject {
@objc static let shared = MyUserDefaultsCommon()
@MyUserDefaultWrapper("yearOfBirth", defaultValue: 1980)
static var yearOfBirth: Int
}
并使用like,
MyUserDefaultsCommon.shared.yearOfBirth = 2001
它产生构建错误。
未知属性“MyUserDefaultWrapper”
如何解决这个问题?
【问题讨论】:
-
你确实导入了项目,对吧?
-
是的,我在桥接头和文件顶部都用#import关键字导入了
标签: ios swift module build-error property-wrapper