下面的代码
let cache = NSCache<NSString, [Double]>()
给我错误:
'NSCache' requires that '[Double]' be a class type
我怎样才能缓存双打数组 using String
作为钥匙?
正如其他人提到的,NSCache 是 objC 类型,只能与 NSObject 子类一起使用。为此,您可以使用类型桥接到 NSArray 中。
let cache = NSCache<NSString, NSArray>()
let doubleArray: [Double] = [2.0, 3.0, 4.0]
cache.setObject(doubleArray as NSArray, forKey: "key")
// ...
if let doubleArray = cache.object(forKey: "key") as? [Double] {
// Got my array back
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)