我通过NSUserDefaults保存两个标签的值:
- (IBAction) saveData
{
// Store the data
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:autore.text forKey:@"Author"];
[defaults setObject:testo.text forKey:@"Text"];
[defaults synchronize];
}
然后我尝试在tableView中检索这些值:
// NSArray
@synthesize dataArray;
- (void)viewDidLoad {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
self.dataArray = [NSArray arrayWithObjects:[prefs objectForKey:@"Author"], [prefs objectForKey:@"Text"],nil];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
// There is only one section.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of time zone names.
return [dataArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
..............
..............
NSString *string = [dataArray objectAtIndex:indexPath.row];
// Authors
cell.textLabel.text = string;
// Text
cell.detailTextLabel.text = string;
return cell;
}
我会得到如图所示的结果:
答案 0 :(得分:0)
我理解你的问题,但首先我需要知道你在拯救什么。 U只保存一个字符串为默认值或更多,因为如果您要保存更多,我建议首先将所有这些文件添加到数组中,然后将其保存为默认值。
所以
NSMutableArray * myArray = [[[NSMutableArray alloc] init] autorelease];
[myArray addObject:myfirstauthor];
[myArray addObject:mysecondauthor];
[myArray addObject:mythirdauthor]; ....
与报价相同......
然后我会像你正确的那样将数组保存到NSUserDefaults。在下次加载时,从默认值中获取这些数组并从那里检索信息。
因为在这种情况下,你只保存一个长字符串。
还有一个通知,但我不确定这一点,也许保存到默认值的所有内容都应该是NSDATA类型,但我不确定,请看一下编程指南。=)
快乐编码=)