模糊的types名称错误
我试图重新编译SwiftyUserDefaults( https://github.com/radex/SwiftyUserDefaults )添加迦太基支持,但试图编译我看到以下错误:
“NSUserDefaults”中含糊不清的types名称“Proxy”
以下代码
public func ?= (proxy: NSUserDefaults.Proxy, @autoclosure expr: () -> Any) { if !proxy.defaults.hasKey(proxy.key) { proxy.defaults[proxy.key] = expr() } }
和
在这种情况下,“代理”对于types查询是不明确的
对于
public subscript(key: String) -> Proxy { return Proxy(self, key) }
据我所知 – 问题是与类代理,这是embedded在扩展。
public extension NSUserDefaults { class Proxy { private let defaults: NSUserDefaults private let key: String private init(_ defaults: NSUserDefaults, _ key: String) { self.defaults = defaults self.key = key } // MARK: Getters public var object: NSObject? { return defaults.objectForKey(key) as? NSObject } // .................................. } }
我查找过文档,但没有任何引用可以用于扩展。
这样对吗?
您在SwiftlyUserDefaults.swift
两次编译SwiftlyUserDefaults.swift
文件:一次在SwiftlyUserDefaults.framework
(这是SwiftlyUserDefaultsTests的一个依赖项)中,一次在“编译源代码”编译阶段。
只需从SwiftlyUserDefaultsTests目标的“编译源码”构build阶段中删除SwiftlyUserDefaults.swift
文件即可。