我创建了一个自定义类来保存NSUserDefaults中的产品数组,但是当我在我的ViewController中进行测试时,我总是使用Xcode 7.1中的自动完成来实现这一点
函数 saveToFile 或 loadFromFile 始终将self: DataFile
显示为唯一参数。
这是我的DataFile类
import Foundation
class DataFile {
let userDefaults = NSUserDefaults.standardUserDefaults()
func saveToFile<T>(object: [T], key: String) -> String {
let encodedData = NSKeyedArchiver.archivedDataWithRootObject(object as! AnyObject)
self.userDefaults.setObject(encodedData, forKey: key)
self.userDefaults.synchronize()
return "oi"
}
func loadFromFile<T>(key: String) -> [T]? {
let decoded = self.userDefaults.objectForKey(key) as! NSData
if let decodedProducts = NSKeyedUnarchiver.unarchiveObjectWithData(decoded) as? [T] {
return decodedProducts
}
return nil
}
}
我做错了什么?
谢谢
答案 0 :(得分:0)
您的funcs不是静态函数,因此,您必须创建对象才能使用这些函数。
let xxx = DataFile()
xxx.loadFromFile(<#T##key: String##String#>)