/ / स्विफ्ट में सुइटनाम के साथ NSUserDefaults का उपयोग करें - ios, स्विफ्ट, nsuserdefaults

Swift - ios, swift, nsuserdefaults में suiteName के साथ NSUserDefaults का उपयोग करें

मुझे एक समस्या है NSUserDefaults(suiteName: "group.app-ID").

मैं एक को बचाने की कोशिश करता हूं NSArray में NSUserDefaults कंटेनर में viewDidLoad().

var defaults: NSUserDefaults = NSUserDefaults(suiteName: "group.app-ID")
defaults.setObject(["One", "Two"], forKey: "bookmarks")
defaults.synchronize()

मेरे आज के कार्य में मैं इस तरह से सरणी प्राप्त करने की कोशिश करता हूं:

एक्सटेंशन व्यूकोलंट्रोलर में ग्लोबली डिफेंशन:

var defaults: NSUserDefaults = NSUserDefaults(suiteName: "group.app-ID")
var defaultsArray: NSArray!

में viewDidLoad()

defaultsArray = defaults.objectForKey("bookmarks") as NSArray

परंतु defaultsArray हमेशा है nil.

एप्लिकेशन समूह एंटाइटेलमेंट को सभी लक्ष्य में जोड़ा गया है।

उत्तर:

जवाब के लिए 5 № 1

इसका आपके सुइट से कोई लेना-देना नहीं है, लेकिन इस तथ्य के साथ कि आप एक NSObject के रूप में एक स्विफ्ट सरणी स्टोर करने का प्रयास कर रहे हैं। निम्नलिखित खेल के मैदान में काम करता है और यह दर्शाता है कि यह कैसे करना है:

let defaults = NSUserDefaults()
defaults.setObject(["One", "Two"] as NSArray, forKey: "array")
let myArray = defaults.objectForKey("array") as [String] // ["One", "Two"]

लेकिन आप एक स्विफ्ट ऐरे को भी स्टोर कर सकते हैं। आपको एक अलग एक्सेसर का उपयोग करना होगा, हालाँकि।

defaults.setObject(["One", "Two"], forKey: "array")
let myArray = defaults.arrayForKey("array") as [String] // ["One", "Two"]