6

これは私を少し夢中にさせています。いくつかのNSUserDefaultsをMonoTouchアプリに登録しようとしています。

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

設定のplistファイルには、ブール値が記述されて<key>ReminderTimeOfDay</key><true/>います。では、デフォルトのブール値を登録する方法は?

4

2 に答える 2

14

以下は私のために働いた:

 bool someValue;
 NSObject objValue = NSObject.FromObject(someValue);
于 2013-04-02T21:04:22.390 に答える
6

それが私がそれをする方法です:

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

    settings.RegisterDefaults (defaults);
}

もちろん、私は複数のキーと値のペアを持っているので、これにより、への複数の呼び出しを回避できますNSMutableDictionary

于 2012-11-12T23:54:03.830 に答える