reloaddata не работает - PullRequest
       2

reloaddata не работает

0 голосов
/ 20 июня 2011

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    CoCoachAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    // Configure the cell...

    switch (indexPath.section) {
        case 0:
                [cell.textLabel setText:@"Click to add new rower"];
                cell.textLabel.textAlignment = UITextAlignmentCenter;
            break;
        case 1:
                [cell.textLabel setText:[[appDelegate teamRoster]objectAtIndex:indexPath.row]];
            break;
    }
    return cell;
}

И все работает нормально, затем я помещаю пользователя в другой viewController и позволяю ему ввести свое имя в текстовое поле.Я беру их имя и добавляю его в тот же массив, который заполнил мой UITableViewController, и из UITableViewController я вызываю:

[self.tableView reloadData];

Но ничего не происходит.Если я проверю свой массив, то увижу, что он содержит правильное количество объектов, и их имя является последней записью, но табличное представление остается неизменным ...

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

Есть мысли?

Ответы [ 2 ]

3 голосов
/ 20 июня 2011

Ваш сбой происходит из-за того, что вы делаете

NSLog(@"%@",[[appDelegate teamRoster] count]);

, когда вы должны делать

NSLog(@"%d",[[appDelegate teamRoster] count]);

Использование %@ отправляет объекту сообщение description,который не работает в течение int с (или float с или BOOL с).

2 голосов
/ 20 июня 2011

Сбой NSLog, потому что вы используете неправильный тип форматера (@ "% @"), это должно быть:

NSLog(@"%d",[[appDelegate teamRoster] count]);

Кроме того, откуда вызывается reloadData?Убедитесь, что это происходит в главном потоке.

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