2017-09-08 5 views
0

私はの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で何かを忘れています)?

誰かが間違っていることを知っていますか?

ありがとうございました!

+0

テーブルビューのデータソースを正しく設定しましたか? –

+0

テーブルビューをInterface Builderに接続し、Ratul Sharkerが指摘するように、データソースデリゲートメソッドはすべて正しく実装されていることを確認してください。 –

+0

'self.tableView'は' nil'ではありませんか? – Rob

答えて

0

tableViewを強力な参照として作成できますか? のようなもの:

@property (nonatomic, strong) IBOutlet UITableView *tableView 
+0

私は上記を試みましたが、何も変更されませんでした。しかし、データソースを接続して3回目のデリゲートを行い、きれいにしたところ、突然それが機能しました。私は問題が正確に何だったのかわかりませんが、あなたの助けに感謝します! – debbiedowner

関連する問題