2012-11-12 43 views
4

這讓我有點瘋狂。我正在嘗試在我的MonoTouch應用程序中註冊一些NSUserDefaults。如何將bool轉換爲MonoTouch中的NSObject

var defaultsToRegister = new NSMutableDictionary(); 
defaultsToRegister.SetValueForKey(true, IS_REMINDING); 
NSUserDefaults.StandardUserDefaults.RegisterDefaults(defaultsToRegister); 

顯然這不是編譯,因爲布爾不能轉換爲NSObject的。但是,當我想設置或檢索NSUserDefaults的一個布爾值,我可以使用:

public bool IsReminding { 
    get { 
     return NSUserDefaults.StandardUserDefaults.BoolForKey(IS_REMINDING); 
    } 

    set { 
     NSUserDefaults.StandardUserDefaults.SetBool(value, IS_REMINDING); 
    } 
} 

在布爾寫成<key>ReminderTimeOfDay</key><true/>這是我所期待的設置plist文件。那麼如何註冊一個默認的布爾值?

回答

6

這就是我要做的事:

using (var defaults = NSDictionary.FromObjectsAndKeys (new object[] { 
     true, 
    }, new object [] { 
     "AllowInternetAccess", 
    })) { 

    settings.RegisterDefaults (defaults); 
} 

當然,我有一個以上的鍵/值對,這讓我避免多次調用一個NSMutableDictionary

+0

這正是我要找的感謝。 –

6

以下爲我工作:

bool someValue; 
NSObject objValue = NSObject.FromObject(someValue); 
+0

謝謝,我會給你一個去。 –