Today Extension Widget,メインアプリ間で,データを共有する際,NSUserDefaultsを使用する.
もちろんのことながら,XcodeプロジェクトのTargetsにおけるApp Groupsの登録が必要.
またそのApp Groupsの名前をNSUserDefaults(suiteName: "NameOfAppGroup")
でセットする.
そして,共有するデータにおける共通の鍵をforKey: "MyKey"
で設定する.
データの保存
let defaults: NSUserDefaults! = NSUserDefaults(suiteName: "NameOfAppGroup")
defaults.setObject("SharedStrings", forKey: "MyKey")
defaults.synchronize()
データの呼び出し
var defaults = NSUserDefaults(suiteName: "NameOfAppGroup")
let objects = defaults!.objectForKey("MyKey") as? String
なお,上記例は"SharedStrings"
の文字列を共有している.