получить данные из NSUserDefaults в TableView - PullRequest
0 голосов
/ 08 марта 2012

Я сохраняю значения двух меток через NSUserDefaults:

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

Затем я пытаюсь восстановить эти значения в табличном представлении:

// 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

1 Ответ

0 голосов
/ 08 марта 2012

Я понимаю вашу проблему, но прежде всего мне нужно знать, что вы экономите.Сохраняете ли вы только одну строку с настройками по умолчанию или более, потому что, если вы сохраняете больше, я бы рекомендовал сначала добавить все эти файлы в массив, а затем сохранить их с настройками по умолчанию.

Так что NSMutableArray * myArray = [[[NSMutableArray alloc] init] autorelease]; [myArray addObject:myfirstauthor]; [myArray addObject:mysecondauthor]; [myArray addObject:mythirdauthor]; .... то же самое с цитатами ....

, а затем я сохраню массивы в NSUserDefaults, как вы правильно сделали.При следующей загрузке возьмите эти массивы из значений по умолчанию и получите оттуда информацию.

Потому что в этом случае вы сохраняете только одну длинную строку.

Еще одно уведомление, но яне уверен насчет этого, может быть, все, что сохранено по умолчанию, должно быть типа NSDATA, но я не уверен, посмотрите руководство по программированию. =)

Счастливое кодирование =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...