2012-03-07 26 views
0

我救两个标签的值通过NSUserDefaults的:检索NSUserDefaults的数据的TableView

- (IBAction) saveData 
{ 
    // Store the data 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:autore.text forKey:@"Author"]; 
    [defaults setObject:testo.text forKey:@"Text"]; 
    [defaults synchronize];  
} 

然后我尝试TOT在的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; 
} 

我会得到的结果类似图片: figure

+0

我看到你这样做的方式只能有一个作者和一个文本。你打算有多个作者和文本? – dbrajkovic 2012-03-07 23:18:08

+0

是的,有多个作者/文本 – Maurizio 2012-03-07 23:24:01

+0

那么你需要创建一个具有两个属性的子类,例如作者和文本。然后制作这些对象的数组。然后你可以说'cell.textLabel.text = [dataArray objectAtIndex:indexPath.row] .author;''cell.detailTextLabel.text = [dataArray objectAtIndex:indexPath.row] .text;' – dbrajkovic 2012-03-07 23:30:26

回答

0

我明白你的问题,但首先我需要知道你在保存什么。 U只保存一个字符串到默认值或更多,因为如果你保存更多,我会建议首先将所有这些文件添加到数组,然后将其保存为默认值。

所以 NSMutableArray * myArray = [[[NSMutableArray alloc] init] autorelease]; [myArray addObject:myfirstauthor]; [myArray addObject:mysecondauthor]; [myArray addObject:mythirdauthor]; .... 与报价相同....

,然后我将数组保存到作为NSUserDefaults的你正确地做到了。在下次加载时,从默认值中取出这些数组并从中检索信息。

因为在这种情况下,您只需保存一个长字符串。

还有一个通知,但我不知道这一点,也许保存到默认一切都应该是NSData的类型,但我不知道,拿上节目指南看看。=)

快乐编码= )

+0

Thk的答复。我在NSUserDefault中保存多对值作者/文本,但我不知道如何检索到tableViev(如我的图片)。 – Maurizio 2012-03-07 23:29:51

+0

ok和autore.txt是什么?是UITextView还是不同的?因为我不知道你想要存储什么?你想存储所有的作者或只有一个最爱??? =) – 2012-03-08 12:49:46