UITableView привязан к NSArray - PullRequest
       2

UITableView привязан к NSArray

1 голос
/ 07 февраля 2011

У меня есть UITableView, который получает свои данные из NSArray.В том же виде, что и UITableView, есть UIDatePicker.Когда дата в UIDatePicker меняется, мне нужно обновить NSArray, который предоставляет данные для UITableView, и перезагрузить таблицу.

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

Вот метод, который вызывается при изменении даты UIDatePicker:

- (IBAction)datesChanged {
    // Update the availableUnits NSArray
    if (availableUnits != nil) {
        [availableUnits release], availableUnits = nil;
    }
    availableUnits = [self availableUnitsForGivenTime];
    [self.tableView reloadData];
}

Что мне здесь не хватает?

Ответы [ 2 ]

2 голосов
/ 07 февраля 2011

Используйте NSMutableArray, установленный NSArray, и каждый раз, когда вы изменяете дату, затем сначала удаляете старую дату из массива Array.Declare NSMutable в качестве свойства и размещаете ее в ViewDidLoad.then.

- (IBAction)datesChanged {

    [self.availableUnits removeAllObjects];
    self.availableUnits = [[self availableUnitsForGivenTime] retain];
    [self.tableView reloadData];
}

И освобождайте массив в dealloc

1 голос
/ 07 февраля 2011

Кажется, вы не сохраняете availableUnits после его освобождения.Попробуйте с

availableUnits = [[self availableUnitsForGivenTime] retain];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...