Xcode7 और तेज, मेरे कोड:प्रकार का मान कनवर्ट नहीं कर सकता '[NSObject: AnyObject]' की उम्मीद तर्क प्रकार के '[स्ट्रिंग: AnyObject]'
func loadDefaults() {
let settingBundle = NSBundle.mainBundle().pathForResource("Settings", ofType: "bundle")
if settingBundle == nil {
return
}
let root = NSDictionary(contentsOfFile: settingBundle!.stringByAppendingString("Root.plist"))
let prefrences = root?.objectForKey("PreferenceSpecifiers") as! Array<NSDictionary>
let defautlsToRegister = NSMutableDictionary(capacity: root!.count)
for prefrence in prefrences {
let key = prefrence.objectForKey("Key") as! String!
if key != nil {
defautlsToRegister.setValue(prefrence.objectForKey("DefaultVale"), forKey: key!)
}
}
NSUserDefaults.standardUserDefaults().registerDefaults(defautlsToRegister as [NSObject: AnyObject])
}
समस्या कोड:
NSUserDefaults.standardUserDefaults().registerDefaults(defautlsToRegister as [NSObject: AnyObject])
इमारत चेतावनी
प्रकार का मान कनवर्ट नहीं कर सकता '[NSObject: AnyObject]' की उम्मीद तर्क प्रकार के '[स्ट्रिंग: AnyObject]'
परिवर्तन कोड:
कृपया मुझे सिखाने कैसे करना है:
NSUserDefaults.standardUserDefaults().registerDefaults(defautlsToRegister as [String: AnyObject])
इमारत चेतावनी
'NSMutableDictionary' को '[AnyObject स्ट्रिंग]' परिवर्तनीय नहीं है? धन्यवाद।
कृपया उदाहरण दिखाने:
let result = dict.objectForKey(NSString(string: "myKey")) as? NSMUtableArray
समस्या यहां पर अधिक
मैं इसके लिए दो तरीके को देखने के 'के defautlsToRegister 'टाइप –
के रूप में' as! 'मदद का उपयोग करता है, जैसा कि http://stackoverflow.com/questions/24099165/how-do-i-convert-an-nsdictionary-to-a-swift-dictionarystring-nsobject में सुझाया गया है? – Tali