Не могу обновить UITableView внутри UIViewController - PullRequest
0 голосов
/ 21 марта 2011

Новичок: (

Тонкая настройка моих уроков, но 36 часов не могу понять это

Пример 1.h

@interface RootViewController : UITableViewController {
    NSArray     *userList;      // the current list of users
}
@property (nonatomic, retain) NSArray       *userList;
- (void) updateTable:(NSArray *)data;
- (void) fetchData;
@end

Пример 1.m

- (void) updateTable:(NSArray *)data {
    self.userList = data;
    [self.tableView reloadData];
}

Это работает, асинхронный объект XML возвращает массив с селектором updateTable и таблицей обновлений.

Но когда я делаю представление UIViewController, таблица не обновляется

Пример 2.h

@class xmlGetStories;

@interface FirstViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> {
        UITableView *tableView;
        NSArray *userList;
}
@property (nonatomic, retain) IBOutlet UITableView *tableView;    
@property (nonatomic, retain) NSArray *userList;
- (void) updateTable:(NSArray *)data;
- (void) fetchData;
@end

Пример 2.m

- (void) updateTable:(NSArray *)data {
    self.userList = data;
    NSLog(@"updateTable sees this data: %@", userList);
    //[self.tableView reloadData];
    [tableView reloadData];
}

updateTable выполняется, и данные передаются нормально, но таблица не обновляется. Я понимаю, что эточто-то делать с тем, как я обращаюсь к таблице, поскольку она является частью UIViewController, а не прямым UITableViewController.Но я подумал, что

 UIViewController <UITableViewDataSource, UITableViewDelegate>

проводной в таблице. У меня есть другой пример испытательного стенда, где пример дваработает, если я жестко закодирую содержимое массива в AppDelegate.

Я пытался

[FirstViewController reloadData];
[FirstViewController.tableView reloadData];

Ни одна из этих операций.

Мозг мертв, глядя на код. Надеюсь, это что-то простое.

TIA

1 Ответ

0 голосов
/ 21 марта 2011

Наиболее вероятной причиной является то, что tableView равно nil. Убедитесь, что вы подключили его в IB.

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