0

私はこの質問がここで何度も尋ねられていることを知っていますが、私の問題の解決策が見つかりませんでした

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"SimpleTableCell";

    AcSummaryCell *cell = (AcSummaryCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"AcSummaryCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }
}

AcSummaryCellは のサブクラスでUITableViewCellあり、UILabelacLabel と呼ばれる IBOutlate があります。プロジェクトをコンパイルすると、次のエラーが発生します。

`Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ACSummaryVC 0x71465c0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key acLabel.'`

AcSummayCell クラスで acLabel の接続を作成しましたが、ACSummaryVC からエラーが発生していますか? 私が間違っているのは何ですか?

編集:- 以下のマニの回答によると、outlate をファイル所有者に接続していますが、outlate をカスタム セルに接続するのは間違っています。この画像のように - ここに画像の説明を入力

ここでの質問は、outlate をカスタム セルに接続する方法です。 ここに私のAcSummayCell.hがあります

@interface AcSummayCell : UITableViewCell
@property(nonatomic, retain)IBOutlet UILabel* acLabel;
@property(nonatomic, retain)IBOutlet UILabel* namelbl;
@property(nonatomic, retain)IBOutlet UILabel* cBalancelbl;
@property(nonatomic, retain)IBOutlet UILabel* avBalancelbl;

および AcSummayCell.m

#import "AcSummayCell.h"

@implementation AcSummayCell
@synthesize acLabel = _acLabel;
@synthesize namelbl = _namelbl;
@synthesize cBalancelbl = _cBalancelbl;
@synthesize avBalancelbl = _avBalancelbl;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end
4

4 に答える 4

1

これに従ってください...カスタムテーブルビューセルの場合 UITableViewCell タイトルとサブタイトルの間のスペース -iOS

またはこの素晴らしいチュートリアル

http://www.appcoda.com/customize-table-view-cells-for-uitableview/

于 2013-08-27T05:55:08.327 に答える
0

私はあなたの間違いを見ます:

カスタムセルでCellクラスを指定せず、識別子を再利用しますAcSummaryCell:UITableViewCell最初にカスタムセルを作成してから、nibセルでtableCellのクラスを選択します。また、NIB でセル識別子を割り当てます。正しい場合、セル AcSummaryCell-SimpleTableCellはオブジェクト フィールドに表示される必要があります。

IBOutlet に接続するには、エディター (アシスタント エディターを表示) -> [自動] を選択AcSummaryCell.hし、必要な IBOutlet をドラッグして接続します。

于 2013-08-27T06:52:26.857 に答える