替换弃用方法后使用未声明的标识符

时间:2012-11-10 13:36:05

标签: ios objective-c uitableview

代码如下:

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
    // STUFF CONFIGURED HERE
}
return self;
}

问题: 因为initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier已被弃用

我使用 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier代替

然后,编译器报告错误“使用未声明的标识符'frame'”

谁能告诉我怎么能处理“框架”?

1 个答案:

答案 0 :(得分:0)

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

不提供frame参数(与前一个参数不同),但是你的实现是指一个名为frame的变量,因此你得到错误Use of undeclared identifier 'frame'

可以通过.frame属性更改框架,因此initWithStyle...的调用者负责设置框架。对于UITableViewCell,您通常不需要设置任何框架,因为表格视图会对其进行管理。

可能值得查看init文档: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html