NsuserDefaults 键 returns(空)
NsuserDefaults key returns (null)
Nsuserdefault 键 returns 安装后初始 运行“(空)”。我如何检查密钥是否存在。我已经推荐了很多链接,它说要检查它是否为 null。但是没有用。
enter code here
- (NSString *)getTalkText
{
NSString *storedUsername = [[NSUserDefaults standardUserDefaults] objectForKey:PERS_STORED_TalkText];
return storedUsername;
}
if(![[[AppManager sharedManager] getTalkText]isEqualToString:@""] || [[AppManager sharedManager]getTalkText]!=nil)
{
self.talkTextView.text=[[AppManager sharedManager]getTalkText];
}
if(([[NSUserDefaults standardUserDefaults] objectForKey:@"YOUR_KEY"]) != (id)[NSNull null] || [([[NSUserDefaults standardUserDefaults] objectForKey:@"YOUR_KEY"]) length] != 0)) {
// value available
}
else{
// null
}
您没有以正确的方式检查条件。通过以下方式进行:
if([[AppManager sharedManager] getTalkText]!=nil && [[[AppManager sharedManager] getTalkText] length] > 0)
{
// Do the rest
}
如果 NSUserDefaults 中没有对象,它肯定 return nil。更重要的是,如果它只是在安装之后,它应该只包含一些 Apple 密钥(例如 AppleLanguages)。您可以通过在 [UIApplicationDelegate application:didFinishLaunchingWithOptions:] 方法的某处添加此行来检查其内容:
NSLog(@"%@", [NSUserDefaultsstandardUserDefaults].dictionaryRepresentation);
如果您只想添加默认值,请考虑使用 [NSUserDefaults registerDefaults] 方法,如下所述:What is the use of -[NSUserDefaults registerDefaults:]?
这是检查键的特定值是否存在的最简单方法
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSObject * object = [userDefaults objectForKey:@"your_key"];
if(object != nil){
NSLog(@"Object is not nil");
//do your operations here
}else{
NSLog(@"Object is nil");
}
Nsuserdefault 键 returns 安装后初始 运行“(空)”。我如何检查密钥是否存在。我已经推荐了很多链接,它说要检查它是否为 null。但是没有用。
enter code here
- (NSString *)getTalkText
{
NSString *storedUsername = [[NSUserDefaults standardUserDefaults] objectForKey:PERS_STORED_TalkText];
return storedUsername;
}
if(![[[AppManager sharedManager] getTalkText]isEqualToString:@""] || [[AppManager sharedManager]getTalkText]!=nil)
{
self.talkTextView.text=[[AppManager sharedManager]getTalkText];
}
if(([[NSUserDefaults standardUserDefaults] objectForKey:@"YOUR_KEY"]) != (id)[NSNull null] || [([[NSUserDefaults standardUserDefaults] objectForKey:@"YOUR_KEY"]) length] != 0)) {
// value available
}
else{
// null
}
您没有以正确的方式检查条件。通过以下方式进行:
if([[AppManager sharedManager] getTalkText]!=nil && [[[AppManager sharedManager] getTalkText] length] > 0)
{
// Do the rest
}
如果 NSUserDefaults 中没有对象,它肯定 return nil。更重要的是,如果它只是在安装之后,它应该只包含一些 Apple 密钥(例如 AppleLanguages)。您可以通过在 [UIApplicationDelegate application:didFinishLaunchingWithOptions:] 方法的某处添加此行来检查其内容:
NSLog(@"%@", [NSUserDefaultsstandardUserDefaults].dictionaryRepresentation);
如果您只想添加默认值,请考虑使用 [NSUserDefaults registerDefaults] 方法,如下所述:What is the use of -[NSUserDefaults registerDefaults:]?
这是检查键的特定值是否存在的最简单方法
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSObject * object = [userDefaults objectForKey:@"your_key"];
if(object != nil){
NSLog(@"Object is not nil");
//do your operations here
}else{
NSLog(@"Object is nil");
}