Dav*_*ser 3 nsuserdefaults ios swift
我遇到了问题NSUserDefaults(suiteName: "group.app-ID").
我尝试将一个NSArray存入NSUserDefaults容器中的应用程序中viewDidLoad().
var defaults: NSUserDefaults = NSUserDefaults(suiteName: "group.app-ID")
defaults.setObject(["One", "Two"], forKey: "bookmarks")
defaults.synchronize()
Run Code Online (Sandbox Code Playgroud)
在我的TodayExtension中,我试着像这样得到数组:
扩展ViewController中的Globaly Defenition:
var defaults: NSUserDefaults = NSUserDefaults(suiteName: "group.app-ID")
var defaultsArray: NSArray!
Run Code Online (Sandbox Code Playgroud)
在 viewDidLoad()
defaultsArray = defaults.objectForKey("bookmarks") as NSArray
Run Code Online (Sandbox Code Playgroud)
但defaultsArray总是如此nil.
应用程序组权利已添加到所有目标.
这与您的套件无关,但事实上您正在尝试将swift数组存储为NSObject.以下适用于Playground并演示如何执行此操作:
let defaults = NSUserDefaults()
defaults.setObject(["One", "Two"] as NSArray, forKey: "array")
let myArray = defaults.objectForKey("array") as [String] // ["One", "Two"]
Run Code Online (Sandbox Code Playgroud)
但是你也可以存储一个Swift数组.但是,您必须使用不同的访问者.
defaults.setObject(["One", "Two"], forKey: "array")
let myArray = defaults.arrayForKey("array") as [String] // ["One", "Two"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4022 次 |
| 最近记录: |