当我尝试使用
时lblSchool.text = [[NSUserDefaults standardUserDefaults] objectForKey:SCHOOL_NAME];
这给出空白值。但以下代码在结果页面中显示值。
lblSchool.text = @"Test Name";
和
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"INTL" message:[[NSUserDefaults standardUserDefaults] objectForKey:SCHOOL_NAME] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
更新
当我从文本中删除换行符(修剪过的新行)时,问题就解决了。
我使用了以下代码行。
NSString *greeting = [[[NSUserDefaults standardUserDefaults]objectForKey:SCHOOL_NAME] stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
lblSchool.text = greeting;
答案 0 :(得分:2)
在self = this;
reader.onload = function(e) {
self.text=reader.result;
}
中设置值,如下所示:
同步NSUserDefaults
:
NSUserDefaults
的{{1}}方法会定期自动调用,只有在您不能等待自动同步的情况下才使用此方法,如果您想频繁或短暂使用synchronize
中的值然后使用NSUserDefaults
(正如 Russell 指出的那样)。
NSUserDefaults
记录值并检查实际值是否存在,如下所示:
synchronize
如果值实际存在,那么下面的代码应该可以正常工作:
[[NSUserDefaults standardUserDefaults]setObject:@"SchoolName" forKey:SCHOOL_NAME];
[[NSUserDefaults standardUserDefaults]synchronize];