在 ios 应用程序中存储会话
Storing sessions in an ios application
我正在使用一个用户可以注册的应用程序,在我这边激活他的帐户后,他可以登录并拥有更多功能。
现在的问题是我是否将 NSUserDefaults
用作会话处理程序,以便当用户登录时他不会再次登录,直到他删除应用程序并重新安装它或者我该怎么做?
NSUserDefaults
是不错的选择。用户可以使用它多次登录和注销。您只需要在用户登录时为键保存对象/值,并在用户注销时将其删除。
NSString *value = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:value forKey:@"anyKeyName"];
[[NSUserDefaults standardUserDefaults] synchronize];
获得价值
NSString *savedValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"anyKeyName"];
当用户注销时,只需删除该密钥
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"anyKeyName"];
或者如果您不想删除您的密钥,请将 nil
设置为该值。
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"anyKeyName"];
但我更喜欢 removeObjectForKey
.
我正在使用一个用户可以注册的应用程序,在我这边激活他的帐户后,他可以登录并拥有更多功能。
现在的问题是我是否将 NSUserDefaults
用作会话处理程序,以便当用户登录时他不会再次登录,直到他删除应用程序并重新安装它或者我该怎么做?
NSUserDefaults
是不错的选择。用户可以使用它多次登录和注销。您只需要在用户登录时为键保存对象/值,并在用户注销时将其删除。
NSString *value = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:value forKey:@"anyKeyName"];
[[NSUserDefaults standardUserDefaults] synchronize];
获得价值
NSString *savedValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"anyKeyName"];
当用户注销时,只需删除该密钥
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"anyKeyName"];
或者如果您不想删除您的密钥,请将 nil
设置为该值。
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"anyKeyName"];
但我更喜欢 removeObjectForKey
.