ウィジェットがアプリからデータを取得するために必要なアプリとウィジェットに取り組んでいます。 NSUserDefaultsの読み取りと書き込みには、次のコードを使用しました。また、ウィジェットには$(PRODUCT_BUNDLE_IDENTIFIER).widget
を使用し、 this postを参照して$(PRODUCT_BUNDLE_IDENTIFIER)
を使用しました。ただし、ウィジェットはアプリまたはNSUserDefaultsからデータを取得できません。どうすればそれを機能させることができますか?
func addTask(name: String?) {
let key = "keyString"
tasks.append(name!)
let defaults = NSUserDefaults(suiteName: "group.Mins")
defaults?.setObject(tasks, forKey: key)
defaults?.synchronize()
}
///////
let defaults = NSUserDefaults(suiteName: "group.Mins")
let key = "keyString"
if let testArray : AnyObject = defaults?.objectForKey(key) {
let readArray : [String] = testArray as! [String]
timeTable = readArray
timeTable = timeTable.sort(<)
print("GOT IT")
print("timetable: \(timeTable)")
}
NSUserDefaultsの同じセットから読み取って保存するには、次のことを行う必要があります。
NSUserDefaultsに書き込みます。
// In this example I´m setting FirstLaunch value to true
NSUserDefaults(suiteName: "group.myapp.test")!.setBool(true, forKey: "FirstLaunch")
NSUserDefaultsからの読み取り:
// Getting the value from FirstLaunch
let firstLaunch = NSUserDefaults(suiteName: "group.myapp.test")!.boolForKey("FirstLaunch")
if !firstLaunch {
...
}
UserDefaults(suiteName: "group.myapp.test")!.set(true, forKey: "FirstLaunch")
UserDefaults(suiteName: "group.myapp.test")!.bool(forKey: "FirstLaunch")