2016-01-01 46 views
2

我是IOS新手。不速之客我錯過了一些概念。我已經按照this tutorial創建了一個捆綁設置頁面。iOS 9上的軟件包設置頁面按預期工作

設置頁面已創建,我可以看到我在設置文件中創建的4個設置...好的。

我想,當應用程序didfinishlaunchwithoptions得到這個值應用程序啓動時,使用此代碼:

//Settings: 
let standardUserDefaults : NSUserDefaults = NSUserDefaults.standardUserDefaults() 
print(standardUserDefaults.boolForKey("Push")) 
print(standardUserDefaults.stringForKey("Idioma")) 

我沒有得到正確的配置值...啓用推送,但我總是假的,在語無...

更新: 我跟着this instructions我已經生成的plist文件只能存儲默認設置值,並且知道我得到的默認值,但我仍然缺少一些概念,因爲我想知道,如果任何默認設置在設備的設置應用程序中在我的應用程序之外更改。我已經測試過在設備設置中取消選中推送值,我仍然在我的應用中獲得默認值...我的應用程序如何知道設置中的默認值已更改?

var myDict: NSDictionary? 
    if let path = NSBundle.mainBundle().pathForResource("SettingsDefaults", ofType: "plist") { 
     myDict = NSDictionary(contentsOfFile: path) 
    } 
    if let dict = myDict { 
     print(dict["Push"]) 
     NSUserDefaults.standardUserDefaults().registerDefaults(dict as! [String : AnyObject]) 
     NSUserDefaults.standardUserDefaults().synchronize() 
    } 
+0

你可以請發佈保存代碼,我的意思是設置值NSUserDefaults代碼 –

+0

是的,我已經更新了這個信息的話題。謝謝 –

回答

1

它對我的預期工作,請確保您在通話之前設定值。

let standardUserDefaults : NSUserDefaults = NSUserDefaults.standardUserDefaults() 

    standardUserDefaults.setBool(true, forKey: "Push") 
    standardUserDefaults.setValue("Idioma Value", forKey: "Idioma") 

    print(standardUserDefaults.boolForKey("Push")) 
    print(standardUserDefaults.stringForKey("Idioma")) 

輸出

true 
Optional("Idioma Value") 

即使是在第二輪,如果我評論的值設置它工作正常。

0

我的更新說明不正確。 RegisterDefaults和Synchronize工作正常我沒有正確檢查值。我能夠檢索應用程序之外的更改值...解決!