2017-05-16 5 views
0

私はアプリで私の主のViewControllerとしてUITableViewControllerを持っていると宣言しています。私の目標はreloadDataメソッドをオーバーライドすることです。私はオーバーライドでクラスのスーパーメソッドを呼び出すときに、私はこの質問のタイトルで見られるエラーを取得するしかしenter image description hereのUITableViewControllerのための目に見えるインターフェースは、セレクタReloadData

、:

デリゲートとテーブルビューのデータソースの両方が自動的にストーリーボードに設定されました。

私のコードは非常に非常に簡単です:私は私のアプリの他の部分で上書きせずにreloadDataを呼び出すとき

- (void)reloadData { 
    [super reloadData]; 
} 

さらに、cellForRowAtIndexPathをトリガしていないよう:

どう
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 
    if ([elementName isEqualToString:@"theThingImLookingFor"]) { 
     [self.tableView reloadData]; //no error thrown, but no tableReloading either 
    } 
} 

これはうまくいくのですか?私は

+1

'reloadData'は' UITableViewController'はなぜ '[スーパーを説明する上でUITableView''上の方法ではありませんreloadData]; 'エラーを生成します。もう一方については、 'parser:didEndElement ...'が適切な要素名で呼び出されていますか?そんなに多くの意味...グッド最初のもののために知ることができる –

+0

。後者の場合、私はリロードデータが呼び出されているということは肯定的です。私はそれを確認するブレークポイントを持っています – DCIndieDev

答えて

0

UITableViewControllerreloadDataメソッドを定義していない...私はここに何かを明らかに欠けているように感じます。それはUITableViewメソッドです。定義しておけば、自分で呼び出さない限り呼び出されません。私はあなたのreloadDataメソッドにブレークポイントを置いて、それが呼ばれていた場所から見て示唆しています。

あなた自身があなたのreloadDataメソッドを呼び出した場合、それは何もしません。 tableViewのreloadDataメソッドを呼び出す必要があります。

あなたは確かに順番にテーブルビューのreloadDataメソッドを呼び出すことをごUITableViewControllerにreloadDataメソッドを実装できます

- (void)reloadData { 
    [tableView reloadData]; 
} 
関連する問題