当前我使用的是每个用户的默认设置。
_defaults = [NSUserDefaults standardUserDefaults];
...
NSData *myData = [_defaults valueForKey:key];
但是,我需要一个等效的地方,可以保存全局数据以供所有用户共享,而不仅仅是当前用户共享。
NSUserDefaults
对所有用户来说是什么等价?
您可以使用[NSUserDefaults standardUserDefaults]
存储所有共享数据,然后对于特定用户,您可以只创建一个新的suite
默认值,例如(where "UniqueUserID" changes for each user
):]]
NSUserDefaults *globalDefaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"UniqueUserID"];
现在您有
standardUserDefaults
用于全局数据-即与所有用户共享并且您有userDefaults
在这种情况下是特定于UniqueUserID
的(每个用户都会更改)
现在您可以使用相同的key
查找global
和user
的不同值>
NSString *key = @"Key"; [globalDefaults setObject:@"global" forKey:key]; [userDefaults setObject:@"user" forKey:key]; NSLog(@"Global value for same key %@", [globalDefaults objectForKey:key]); NSLog(@"User value for same key %@", [userDefaults objectForKey:key]);
打印:同一关键全局的全局值同一关键用户的用户值
希望有帮助