是否可以限制NSUserDefaults中的整数? 当然,你可以在你的应用程序中限制它,但我正在考虑设置中的TextFields。
获得一些提示会很棒。
非常感谢。
答案 0 :(得分:0)
我写了一个覆盖那个案例的小VRAppSettings超类。
它允许通过对象的属性存储您的应用程序设置,然后自动将该对象存档为用户默认值。
这是怎么做的。成为VRAppSettings类的后继者:
@interface MySettings : VRAppSettings
@property (nonatomic, readwrite) NSInteger * myInt;
@end
@implementation MySettings
- (NSString *)userDefaultsKeyPostfix
{
return @"MyAppsSettings";
}
- (void)resetToDeveloperDefaults
{
// Set default values here
self.myInt = 85;
}
- (void)checkAfterInitWithCoder { }
- setMyInt(NSString * myInt)
{
NSInteger max = 110;
NSInteger min = 80;
if (myInt > max) myInt = max;
if (myInt < min) myInt = min;
_myInt = myInt;
}
@end
然后MySettings
可以用作单身,在这里如何:
[MySettings sharedInstance].myInt = 99;
[[MySettings sharedInstance] synchronizeToUserDefaults];
NSLog(@"myInt = %d", [MySettings sharedInstance].myInt);
在上面的代码中,将在- setMyInt
setter中检查传递给myInt的值,并始终在80
和110
之间。 MySettings
单例将存储在用户默认值中。
有关详细信息,另请参阅我的blog record。