私はのFAQViewcontrollerにデータをリロードします。テーブルビューは、このように呼ばれるのViewControllerがロードされnibファイル(ビュー)、に配置される:テーブルビューは、(Iセパレータ線を参照正しい方法を表示して、FAQViewcontrollerののviewDidLoadでnib(view)のUITableviewがリロードされません(Objective-C)
FAQViewController *vc = [[FAQViewController alloc] initWithNibName:@"FAQViewController" bundle:nil];
[self presentViewController:vc animated:YES completion:nil];
とbackgroundColorを変更しているときはうまくいきます)。しかし、まだ情報が表示されていないので、セルは空です(予想どおり)。ネットワーク呼び出しが行われ
- (void)viewDidLoad {
[super viewDidLoad];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.tableView registerNib:[UINib nibWithNibName:@"FAQCell" bundle:nil] forCellReuseIdentifier:@"FAQCell"];
if (self.faqData == nil || [_faqData count] == 0) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[[DataModel sharedInstance] getFrequentlyAskedQuestions:^(NSError *error) {
}];
});
}
}
、FAQViewcontrollerでこの関数が呼び出されます。
- (void)setFaqData:(NSArray *)faqData {
_faqData = faqData;
NSLog(@"%@", _faqData);
dispatch_async(dispatch_get_main_queue(), ^() {
[self.tableView reloadData];
});
}
しかしreloadDataは何もしません。 numberofrowsinsectionは呼び出されません。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _faqData.count;
}
私はそれについて何をすべきか分かりません。以前はこれがあったことはありませんでした(通常、私はSwiftのコードを書いていますが、多分Objective-Cで何かを忘れています)?
誰かが間違っていることを知っていますか?
ありがとうございました!
テーブルビューのデータソースを正しく設定しましたか? –
テーブルビューをInterface Builderに接続し、Ratul Sharkerが指摘するように、データソースデリゲートメソッドはすべて正しく実装されていることを確認してください。 –
'self.tableView'は' nil'ではありませんか? – Rob