首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“‘initWithFrame:reuseIdentifier”已弃用

“‘initWithFrame:reuseIdentifier”已弃用
EN

Stack Overflow用户
提问于 2011-07-10 19:46:56
回答 1查看 5.5K关注 0票数 6

我试图重新创建一个Xcode项目,但是我遇到了一个错误"'initWithFrame:reuseIdentifier‘is deprecated“。代码如下:

代码语言:javascript
复制
- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
    UIView *myContentView = self.contentView;

    self.todoPriorityImageView = [[UIImageView alloc] initWithImage:priority1Image];
    [myContentView addSubview:self.todoPriorityImageView];
    [self.todoPriorityImageView release];

    self.todoTextLabel = [self newLabelWithPrimaryColor:[UIColor blackColor] 
                                          selectedColor:[UIColor whiteColor] fontSize:14.0 bold:YES]; 
    self.todoTextLabel.textAlignment = UITextAlignmentLeft; // default
    [myContentView addSubview:self.todoTextLabel];
    [self.todoTextLabel release];

    self.todoPriorityLabel = [self newLabelWithPrimaryColor:[UIColor blackColor] 
                                              selectedColor:[UIColor whiteColor] fontSize:10.0 bold:YES];
    self.todoPriorityLabel.textAlignment = UITextAlignmentRight;
    [myContentView addSubview:self.todoPriorityLabel];
    [self.todoPriorityLabel release];

    // Position the todoPriorityImageView above all of the other views so
    // it's not obscured. It's a transparent image, so any views
    // that overlap it will still be visible.
    [myContentView bringSubviewToFront:self.todoPriorityImageView];
}return self;}

我在line2上得到了if-语句开头的错误。这个函数显然不再推荐使用了,现在它是这个函数:

代码语言:javascript
复制
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
    // Initialization code.
}
return self;}

我真的不知道如何修改上面的函数并将其放入较新的函数中!

Thx

凯文

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-10 20:23:33

新的初始化器使用UITableViewCellStryle,而不是为单元指定帧CGRect,而您只是将帧提供给[super initWithFrame:frame reuseIdentifier:reuseIdentifier]中的超类。因此,将所有相同的代码放入新版本中应该没有问题,不需要if语句。

你有:

代码语言:javascript
复制
- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
        // all your stuff
    }
    return self;
}

您现在拥有:

代码语言:javascript
复制
- (id)initWithStyle:(UITableViewCellStyle)style
    reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        // all your stuff
    }
    return self;
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6640891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档