2016-10-29 20 views
0

Xcodeのプロジェクトを多数作成して、これが単一のプロジェクト問題であるかどうかを確認しました。私が得ている問題は、UITableVIiewにローカルデータまたはParseデータベースに格納されているデータのいずれかを設定しても表示されないことです。UITableViewにデータが全く表示されていません

私はXcodeを再インストールし、プロジェクトを掃除してコード/プロジェクトを歩き回って、間違いを犯したかどうかを確認しましたが、

たとえば、セルにUIImageという名前のUITableViewControllerを作成し、プロジェクトをビルドして実行すると、表示されません。事前に enter image description here

ありがとう:ここ

は一例です。

+0

あなたはこの質問にタグを付けました。関連するSwiftコードで質問を更新してください。 – rmaddy

+0

@rmaddy。私の間違いはありません。上記のすべてがストーリーボードに基づいています –

+1

これはXcodeのバグだと思っていましたが、Xcodeを削除して再インストールしたときに修正されていないのに驚いています。誰にもこの問題がありましたか? –

答えて

0

UITableViewDataSourceの2つの必須メソッドを実装する必要があります。そのような

何か:

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; 
    return cell; 
} 
+0

答えをありがとう、しかし私は上記の方法で既に作成された私のテーブルビューのためのスウィフトコカのクラスを持っています –

+0

あなたは上記のあなたのコメントにコードがないと言った。今あなたはそこにいると言っている。コードがある場合は、質問を編集して投稿してください。 – Frankie

+0

@Frankie Swiftファイルを作成したときにXcodeによって作成されたコードのみ。私は個人的にこの問題を解決するまで、まだコードを書くチャンスを持っていませんでした。 –

0

あなただけの利用可能なコードを掲載場合、これはより速く行くだろう... Annnnyway ...

あなたはこれだけをやった場合ので、私が尋ねる理由がありますストーリーボードではダイナミックなテーブルですが、テーブルはnumberOfRowsInSectionメソッドを見て、テーブルにデータを入力するかどうかを調べます。これが0の場合、ストーリーボードに何を置いても行は表示されません。

cellForRowAtIndexPathにセル識別子がcellであるが、あなたのストーリーボードセルがcellであることが確認されていない場合でも、空白のセルが表示されます。

さらに、これらの2つのメソッドを正しく実装している場合は、このテーブルがストーリーボードまたはプログラムによってdataSourceとしてそのクラスに接続されていることを確認する必要があります。

しかし、これらはすべて私がそれを理解するコードを見なければならないので、ちょうど推測です。

+0

本当にあなたの答えと助けに感謝します。私は私の質問に 'cellForRowAtIndexPath'を追加しましたが、あなたが完全なコードを見たいのであれば、私のプロジェクトへのリンクです - https://www.dropbox.com/s/etcp5hz6uxkeqo3/Iconic.zip?dl=0 –

+0

@TimSmith:あなたのプロジェクトをチェックしたところ、うまくいきました。これは、画像をセルにロードしていますが、ロードに数秒かかる(ネットワーク速度によります)。 cell1.cellImageNailView?file = imageFile cell1.cellImageNailView.loadInBackground()あなたの画像をすぐに見ることができます)を呼び出した直後に、実際のコンテンツをロードするためにパーズを要求しているので、 –

+0

@MidhunMP昨夜、Xcode 8.1にアップデートして、iPhone 7シミュレータでプロジェクトをテストしたところ、動作しなかったので、iPhone 6で試してみました。私はコードを変更する必要はありませんでした。私はこれが何らかのバグかもしれないと思いますか?助けてくれてありがとう –

0

UITableViewControllerを使用している場合は、セルを静的に変更しましたか?

enter image description here

0

あなたはXcodeのが提供するもの以外の任意のカスタムコードを持っていないと述べました。それがあなたの問題です。

テーブルビューにデータをインストールするには、UITableViewDataSourceメソッドを実装する必要があります。 Xcodeはそれをしません。あなたのビューコントローラに置かれたコードXcodeは、データがないことをテーブルビューに伝えます。そのセクションに少なくとも1つのセクションと少なくとも1つの行があることを報告する必要があります。その後、モデルのデータをセルにインストールするcellForRowAtIndexPathのコードを記述する必要があります。

ニキータは、テーブルビューが何かをする前に実装しなければならない3つの方法のうち2つをリストアップしています。

関連する問題