मुझे एक समस्या है 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"]