FAQviewcontroller에 데이터를 다시로드하고 싶습니다.닙 (보기)의 UITableview가 다시로드되지 않습니다 (목표 -C)
FAQViewcontroller의 viewDidLoad에있어서FAQViewController *vc = [[FAQViewController alloc] initWithNibName:@"FAQViewController" bundle:nil];
[self presentViewController:vc animated:YES completion:nil];
상기 tableview에 올바른 방식으로 표시된다 (I 세퍼레이터 라인 참조 다음의 tableview이 방법은 상기의 ViewController 탑재되는 nib 파일 (뷰) 배치라고 backgroundColor를 변경할 때 잘 작동합니다.) 그러나 아직 표시 할 정보가 없으므로 셀은 예상대로 비어 있습니다.
- (void)setFaqData:(NSArray *)faqData {
_faqData = faqData;
NSLog(@"%@", _faqData);
dispatch_async(dispatch_get_main_queue(), ^() {
[self.tableView reloadData];
});
}
하지만 reloadData는 아무것도하지 않고있다 : 네트워크 호출이 완료되면
- (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에서이 함수가 호출됩니다. numberofrowsinsection은 호출되지 않습니다.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _faqData.count;
}
나는 그것에 대해 무엇을 해야할지 모르겠다. 전에는 이것을 사용하지 않았다. (대개 Swift에서 코딩했는데, 아마도 Objective-C에서 뭔가를 잊어 버렸을 것이다)?
내가 뭘 잘못하고 있는지 아는 사람이 있습니까?
대단히 감사합니다!
테이블 뷰 데이터 소스를 올바르게 설정 했습니까? –
Interface Builder에서 테이블보기를 연결했는지 확인하십시오. Ratul Sharker가 지적했듯이 데이터 소스 대리자 메서드는 모두 올바르게 구현됩니다. –
'self.tableView'는'nil'이 아닌가요? – Rob