1

重要な編集: 私はばかのように、間違ったエラー コードを投稿しました。最初のエラーではなく、以前に問題を修正するために行ったエラーを投稿していました。私の愚かさを無視してください。

Xcode で Facebook フィード アプリを作成していますが、テーブルのカスタム セルの作成で問題が発生しています。カスタム セルの 2 つの UILabels に値を割り当てようとすると、「'JSONFeedItemCell' の目に見える @interface がセレクター 'nameLabel' を宣言していません」というエラーが表示されます。私のコードは次のとおりです。

マスター ビュー コントローラー

- (void)viewDidLoad
{
    UINib *nib = [UINib nibWithNibName:@"JSONFeedItemCell" bundle:nil];
    [[self tableView] registerNib:nib forCellReuseIdentifier:@"JSONFeedItemCell"];
    ... // other stuff, not relevant
}

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

    NSDictionary *p = [[[JSONFeedItemStore sharedStore] allItems] 
                              objectAtIndex:[indexPath row]];
    [[cell nameLabel] setText:@"The Name"];
    return cell;
}

細胞クラス

#import <Foundation/Foundation.h>

@interface JSONFeedItemCell : UITableViewCell
{

}

@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UILabel *detailLabel;
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;

@終わり

追加情報やコードが必要な場合はお知らせください。喜んで提供いたします。

4

2 に答える 2

0

2つのこと:確認する必要があります。

#import "JSONFeedItemCell.h"  //in your mainViewController.h

そして、Wolfgang Schreurs が提案したように、セルを型キャストします。

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

    NSDictionary *p = [[[JSONFeedItemStore sharedStore] allItems] 
                              objectAtIndex:[indexPath row]];
    [[cell nameLabel] setText:@"The Name"];
    return cell;
}

編集:カスタムセッター/ゲッターを使用しないため、プロパティを合成する必要がありますJSONFeedItemCell.m

@synthesize imageView;
@synthesize detailLabel;
@synthesize nameLabel;

コンパイラーは、それを行うのを忘れた場合に警告する必要がありますが、すべての可能なコンパイラー設定は不明です。

于 2012-08-02T15:27:34.253 に答える
-1

サークルインポートのようなものはありますか?相互にインポートする 2 つのクラスがあると、Xcode がめちゃくちゃになります。Xcode は、このような「ランダムな」エラーを表示することがあります。また、プロジェクトをクリーンアップして整理し、PC を再起動するのに役立つ場合もあります。理由は実際にはわかりませんが、時々役立つことがあります。

于 2012-08-02T17:06:29.417 に答える