我正在尝试将Int
添加到空Array
,然后将其数据存储为UserDefaults
,然后将其读取
,这就是我在做的事情:
//create an empty array
var intArray = [Int]()
func addToBookMark(Number:Int) {
//Add object to array and save it
intArray.append(Number)
UserDefaults.standard.set(intArray, forKey: "bookmark")
UserDefaults.standard.synchronize()
//Read it
let array = UserDefaults.standard.array(forKey: "bookmark") as? [Int] ?? [Int]()
print(array.description)
}
//Calling the method :
addToBookMark(Number: 30)
问题是编译器给了我一个空数组:[]
我的问题是什么?
答案 0 :(得分:2)
您的代码是完美的,它是模拟器的问题。所以最好尝试重新启动Mac。
WWDC Seed:运行多个iOS模拟器可能导致NSUserDefaults 不工作
运行iOS 8或9模拟器,然后运行iOS 10模拟器 导致NSUserDefaults停止在模拟器中工作。这可以 通过重新启动主机Mac来解决这个问题。
如果是Playground,则会有一个radar因为它无效,因为它无法访问沙盒。