2013-06-01 66 views
2

有什麼辦法可以使用NSUserDefaultsDidChangeNotification我可以通知對通用設備設置所做的更改嗎?瞭解NSUserDefaults和NSUserDefaultsDidChangeNotification

我不確定這裏提到的是什麼設置。它只談論應用特定設置或整體設備設置。

我想要做的就是這樣:我想要一個通知,如果用戶打開/關閉wifi或藍牙或任何其他設置的事情。是否有可能我可以使用NSUserDefaultsDidChangeNotification?

截至目前我能想到的是創建一個自定義通知,每當變量的值發生變化時觸發。但是,在這種情況下,我必須不斷調查設置的價值。

回答

0

NSUserDefaults class reference

的NSUserDefaults的類提供 編程接口與所述默認的系統進行交互。默認系統允許 應用程序定製其行爲以匹配用戶的偏好。例如,您可以允許用戶確定應用程序顯示的測量單位爲 ,或自動保存文檔 的頻率。 應用程序通過將 值分配給用戶默認數據庫中的一組參數來記錄此偏好。 參數被稱爲默認值,因爲它們通常用於確定應用程序在啓動時的默認狀態或默認情況下 的行爲方式 。

根據你想要做的是監視wifi或藍牙或其他設備設置,不可能爲此使用NSUserDefaults。所以是的,你不能使用NSUserDefaultsDidChangeNotification。它更適合您特定應用的用戶默認設置。

如何確定無線網絡:iPhone Wifi on or off?

對於藍牙的可用性,我想你可以使用Core Bluetooth。對於其他設備設置,您需要逐一查找。

+0

嘿謝謝!你的結論,我不能使用NSUserDefaults爲我的目的,幫助。我已經設法使用可達性和核心藍牙API爲WiFi和藍牙做到這一點。我只是希望能夠使用NSUserDefaults類獲得一些其他設置的優勢,因爲我無法以任何其他方式讀取它們。 – megZo

+1

@meghna NSUserDefaults用於存儲您自己的應用程序首選項,而不用於讀取設備範圍的設置:) –