iOS Playground中的NSUserDefaults

前端之家收集整理的这篇文章主要介绍了iOS Playground中的NSUserDefaults前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
iOS Playgrounds似乎存在一个奇怪的问题,NSUserDefaults总是返回而不是实际值.

在iOS Playground中,最后一行错误地返回nil.

import UIKit

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("This is a test",forKey: "name")
let readString = defaults.objectForKey("name")

在OSX Playground中,最后一行正确返回“This is a test”.

import Cocoa

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("This is a test",forKey: "name")
let readString = defaults.objectForKey("name")

知道为什么会这样吗?错误

解决方法

这不是一个真正的错误…… NSUserDefaults与iOS沙箱环境有关.游乐场不在这种环境中运行.因此,为什么您将无法将文件写入磁盘.如果您在通过模拟器或设备运行时在应用程序中运行此代码,则您将可以访问沙箱环境,NSUserDefaults将返回正确的引用.我确实看到我在游乐场得到了一个适当的参考,并且可以设置和获取值,所以这里必须有其他东西.由于性质原因,我不会依赖于这种方式来测试这种类型的功能.

请注意我同步商店时会发生什么.

由于没有任何东西可以持续存在,因此该值变为零.

原文链接:https://www.f2er.com/iOS/334696.html

猜你在找的iOS相关文章