Ne peut pas convertir une valeur de type '[NSObject : AnyObject] " devrait argument de type '[Chaîne : AnyObject]'

Xcode7 et rapide, Mon code:

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])
}

Problème de code:

NSUserDefaults.standardUserDefaults().registerDefaults(defautlsToRegister as [NSObject: AnyObject])

bâtiment avertissements

Ne peut pas convertir une valeur de type '[NSObject : AnyObject] " devrait argument de type '[Chaîne : AnyObject]'

changement de code:

NSUserDefaults.standardUserDefaults().registerDefaults(defautlsToRegister as [String: AnyObject])

bâtiment avertissements

'NSMutableDictionary" n'est pas convertible '[Chaîne : AnyObject]'

Merci de me dire comment faire? merci.

Merci de montrer un exemple de defautlsToRegister type
N'utilisant as! de l'aide, comme il est suggéré dans stackoverflow.com/questions/24099165/...?

OriginalL'auteur Lifu Lin | 2015-09-21