-1

プロジェクト(AppDelegate、ViewController、UITableViewCell)があります。

//ViewController.m(抜粋)

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

TableCell *cell = (TableCell *)[myTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
//====A====
    cell = [[TableCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier];

    //====B==== //cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    UIView *bgView = [[UILabel alloc] initWithFrame:CGRectZero];
    cell.backgroundView = bgView;

    for(UIView *view in cell.contentView.subviews){
        view.backgroundColor = [UIColor clearColor];
    }
}

cell.titleLabel.text = [NSString stringWithFormat:@"%@ %i", @"row", indexPath.row];

if(indexPath.row % 2){
    cell.backgroundView.backgroundColor = [UIColor whiteColor];
}else{
    cell.backgroundView.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:1.0 alpha:0.1];
}

return cell;
}

//TableCell.m(UITableViewCell クラス)

  #import "TableCell.h"

NSString *CellIdentifier = @"CellIdentifier";

@implementation TableCell

@synthesize titleLabel;

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier
{
    if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier])
    {

        titleLabel = [[UILabel alloc] initWithFrame:frame];
        titleLabel.font = [UIFont systemFontOfSize:15];
        titleLabel.frame = CGRectMake(10.0, 0.0, 320.0, 40.0);
        [self.contentView addSubview:titleLabel];
        self.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    }

    return self;
}

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

@end

warning(initWithFrame:...iOS3)//===A===の部分に生成されます。したがって、//===B=== と書きます。セルには何もありません。警告を解除したい。

4

1 に答える 1

0

initWithFrame:reuseIdentifier:iOS 3.0 (多くの時間) 以来、非推奨の方法です。新しいものを使用するinitWithStyle:reuseIdentifier:と、警告が消えます。

UITableViewCell ドキュメント

于 2013-06-17T14:17:03.570 に答える