2012-03-09 7 views
0

私はiOS開発を学ぼうとしています。 例: Xcode 4.2を使用する新しい「シングルビューアプリケーション」を作成します。次に、ビューにテーブルビューを追加します。次に、 のFile> New> New Fileに移動し、UITableViewControllerのサブクラスであるUIViewControllerSubclassを作成します。 私はストーリーボードの私の唯一のビューコントローラをクリックし、アイデンティティインスペクタの下に移動し、そのクラスを私が作成したものに変更します。次に、テーブルビューのデータソースとデリゲートをビューコントローラにリンクします。私が作成したクラスから.mファイルを開き、セクションの数を1に、セクションの行数を3に設定し、 "Hello"と言うセルを設定します(cell.textlabel.text = @ "Hello ";)。私がプログラムを実行すると、 "SIGABRT"というエラーが出ますが、プログラムには警告もエラーもありません。私は間違って何をしていますか?xcode 4.2ビュークラスをカスタムクラスエラーに設定する

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 5; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 

    [email protected]"cell1"; 
    return cell; 
} 
+0

あなたは多くのことを間違っていると思います...達成しようとしているのは何ですか?私はあなたを助けることができるかもしれません。また、iOS 5.0シミュレータでサンプルを実行する場合は、iOS 4バージョンに切り替えます。時々エラーの詳細を教えてくれるのですが、なぜか – BBog

答えて

2

プロジェクトを最初に作成するときは、ストーリーボードに移動して、XCodeがデフォルトで作成する汎用View Controllerシーンを削除します。次に、テーブルビューコントローラオブジェクトをオブジェクトブラウザからストーリーボードにドラッグし、アイデンティティインスペクタでクラスをカスタムクラスに変更します。 (あなたがドラッグしたテーブルビューコントローラには、必要なtableViewとプロトタイプセルが既に含まれています)。前と同じようにデータソース&の代理プロパティを接続し、上記のようにカスタムクラス.mファイルにコードを実装します。

その後、エラーは表示されません。

+0

これはうまくいきました!私は自分のクラスのテーブルビューコントローラが必要であることを認識していませんでした。私はそれが正常なビューに埋め込まれたテーブルビューを持っていたので動作すると思った。私がどれくらい知っているかを示しています。ありがとう! – Shredder2794

0

NSZOMBIEを試して問題を特定できるようにしてください。これを行うには、Xcodeプロジェクトの実行可能ファイルグループで実行可能ファイルをダブルクリックします。 [引数]タブをクリックします。 「環境変数に設定する変数」セクションで、「NSZombieEnabled」という変数を作成し、その値を「YES」に設定します。