0

カスタム テーブル セル クラスを作成しました。

@interface CommonCell : UITableViewCell{
   ...
}

@end

その実装ファイルで、カスタム初期化メソッド を作成しました。initWithCellHeight:reuseIdentifier:showName

[super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier])以下のように、 を呼び出しました。

@implementation CommonCell

- (id)initWithCellHeight:(float)cellHeight reuseIdentifier:(NSString *)reuseIdentifier showName:(BOOL)showName
{
    if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier])) {

        [self createViews: showName];
    }
    return self;
}

コントローラーで cell クラスを次のように使用すると:

#import "CommonCell.h"

...
cell = [[[CommonCell alloc] initWithCellHeight:150 reuseIdentifier:@"CommonCellId" showName:YES] autorelease];

警告メッセージが表示されました:instance method "initWithCellHeight:reuseIdentifier:showName" not found

なんで?テーブル セルにカスタム イニシャライザを使用できないのはなぜですか?

4

1 に答える 1

1

- (id)initWithCellHeight:(float)cellHeight reuseIdentifier:(NSString *)reuseIdentifier showName:(BOOL)showNameヘッダファイルに存在しないのはなぜですか? 警告を削除するには、使用する前に宣言する必要があります。

于 2013-04-30T09:18:25.203 に答える