我在Xcode中使用Swift创建了一个测试应用程序,但我遇到了一个烦人的问题.我正在编写一个简单的类,它将使用Dictionary对象充当缓存.我的实现如下:
import Foundation
import UIKit
class ImageCache {
var dict:Dictionary<String,NSData>?;
init() {
dict = Dictionary<String,NSData>();
}
func exists(id:String) -> Bool {
return dict!.indexForKey(id)!==nil;
}
func getImage(id:String) -> UIImage? {
if(!exists(id)) {
return nil;
}
return UIImage(data: (dict!)[id]);
}
func setData(id:String, data:NSData) {
dict!.updateValue(data, forKey: id);
}
}
Run Code Online (Sandbox Code Playgroud)
问题出在最后一种方法中,Xcode声明"无法找到成员'UpdateValue'".这很奇怪,因为代码提示似乎表明它很好:

但是当我尝试编译时:

这可能是Xcode中的一个错误吗?或者我错过了一些非常明显的东西?