2016-10-14 16 views
0

私のプログラムは以下のレポートでクラッシュします。UITableViewクラッシュインスタンスに送信された認識できないセレクタ

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x7fb4e1c099b0' 

これは私のテーブルビューメソッドの実装です。

クラッシュログhere

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
     if (section == 0) { 
      return 6; 
     } 
     return 5; 
    } 

これはなぜ起こっているのですか? (0セクション==) それは「もし」の内部のように扱うかの場合

+0

else if?セクションは、セクションが0であるかどうかをチェックする必要がある理由よりも唯一です。 –

+0

'tableview'は常に' numberOfRowsInSection'のために1を返します –

+0

完全なクラッシュログを共有してください。 – Adeel

答えて

0

エラーメッセージは、あなたが送信していると言う「他の場合は、」他の近くに一つだけのセクションと、構文エラーがありますメソッドtableView:numberOfRowsInSection:をそのメソッドを理解していないUIViewオブジェクトに渡します。テーブルビューのデータソースが正しくないか、UIViewに別のメソッドを送信することになっています。

あなたのバグでコード行が見つからない場合は、より多くのコードを共有するかもしれません。さもなければ、あなたが掲示したコードは単なる定型文であり、役に立たない。しかし、それがあなたのエラーメッセージの意味です。

+0

あなたは正しいです。インターフェイスビルダーで。 tableviewデータソースとデリゲートは、ファイル所有者ではなくUIViewにリンクされていました。今問題は解決されました。 – Prav

0

あなたが

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 2; 
} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
     if (section == 0) { 
      return 6; 
     } 
     else if (section == 1) { 
      return 3; 
     } 
    } 
0
func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
     return 2 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    if section == 0 { 
     return firstSectionArray.count 
    }else if section == 1{ 
     return secondSectionArray.count 
    } 
    return 0; 
} 
関連する問題