我的項目轉換爲斯威夫特3之後,我得到這個消息:不明確使用 '價值'
不明確使用 '價值'
就行了
let fetcher = wrapper?.value as? Fetcher<UIImage>
我想與使用擴展的NSObject實例關聯
public extension UIImageView {
var hnk_fetcher : Fetcher<UIImage>! {
get {
let wrapper = objc_getAssociatedObject(self, &HanekeGlobals.UIKit.SetImageFetcherKey) as? ObjectWrapper
let fetcher = wrapper?.value as? Fetcher<UIImage> //Ambiguous use of 'value'
return fetcher
}
set (fetcher) {
var wrapper : ObjectWrapper?
if let fetcher = fetcher {
wrapper = ObjectWrapper(value: fetcher)
}
objc_setAssociatedObject(self, &HanekeGlobals.UIKit.SetImageFetcherKey, wrapper, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
這是我的ObjectWrapper類。
class ObjectWrapper : NSObject {
let value: Any
init(value: Any) {
self.value = value
}
}
遷移代碼之前一切都很好。什麼地方出了錯?
可選項有'價值'成員嗎?它可能無法弄清楚你是否想要可選的成員,或者可選包裝的對象的成員。 – Carcigenicate
@Carcigenicate沒有'價值'會員 – Ana
@Hamish太棒了!只需重命名'value'屬性就可以解決問題。謝謝! – Ana