xcode 4.2とストーリーボードを使用してiOSタブ付きアプリケーションを作成しました。xcode 4.2ストーリーボードを使用したiOS Tableview
:行をクリックしたときに、私は私が- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
categoryClass *cc = [datas objectAtIndex:indexPath.row];
[tableView deselectRowAtIndexPath:indexPath animated:NO];
iSubProducts *subProducts = [[iSubProducts alloc] init];
subProducts.title = cc.categoryName;
subProducts.catID = cc.categoryID;
[[self navigationController] pushViewController:subProducts animated:YES];
[subProducts release];
}
の下に次のコードを使用しますが、私は、行をクリックしたとき、それは私に次のエラーを与え、私は1 tableviewcontrollerを開きたい、その上にカスタムセルで1 tableviewcontrollerを追加しました私は持っている私のiSubProductsのtableviewcontroller上cellForRowAtIndexPath
、:
*キャッチされない例外により 'NSInternalInconsistencyException' にアプリを終了、理由:「のUITableView DataSourceがのtableViewからセルを返す必要があります次のようになります。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"myCell2";
iSubProductsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
productSubClass *cc = [datas2 objectAtIndex:indexPath.row];
NSLog(@"Product Name: %@", cc.productName);
cell.txtProductName.text = cc.productName;
cell.txtProductDesc.text = cc.productDesc;
return cell;
}
これはエラーが発生した場所であり、セルはゼロ値を返しています。 iSubProducts tableviewcontrollerをボタンを使用して、またはボタンから接続しようとすると、すべて正常に動作しますが、行がクリックされるとこのエラーが表示されます。
私はiOS開発でかなり新しく、多分カスタムセルを持つtableviewcontrollerからtableviewcontrollerを開いているときにエラーが発生しています。私は今2日間私の頭を抱きしめていて、たくさんのグーグルでグーグルで遊んでいましたが、残念ながら解決策は見つかりませんでした。 iSubProducts tableviewcontrollerには、ボタンからプッシュしようとするとエラーがないことが分かります。私はこの問題に関する助言が必要です。私は今この問題に固執しています。みんなありがとう。
私はこれが正しいと思います。上記のコードの問題は、新しいテーブルビューコントローラが直接割り当てられ、ストーリーボードからロードされないということです。つまり、プロトタイプのセルは使用できません。 seguesを使用してprepareForSegueでターゲットView Controllerを設定すると、これが解決されます。あるいは、ストーリーボードからインスタンス化することもできますが、それは不公平なコードのようです。 – jrturton
うわー、これは、問題を釘付け、ありがとう男!私が言うことができるのはああ私の神です!もう一度ありがとう。 – user1096503