我想在我的FAQViewcontroller中重新加載一些數據。所述的tableview被放置在裝有的viewController一個nib文件(視圖),稱爲這種方式:筆尖上的UITableview(視圖)不會重新加載(Objective-C)
FAQViewController *vc = [[FAQViewController alloc] initWithNibName:@"FAQViewController" bundle:nil];
[self presentViewController:vc animated:YES completion:nil];
在FAQViewcontroller的viewDidLoad中,所述的tableview正在顯示正確的方式(I看到隔板線和當我改變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是無所作爲。沒有調用的數量是多少。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _faqData.count;
}
我不知道該怎麼辦。從來沒有這樣(通常我在Swift中編寫代碼,也許我在Objective-C中忘記了一些東西)?
有誰知道我在做什麼錯?
非常感謝!
您是否正確設置了表格視圖數據源? –
確保你在Interface Builder中連接了你的表格視圖,並且正如Ratul Sharker指出的那樣,數據源委託方法都是正確實現的。 –
'self.tableView'非''nil'? – Rob