勘定的“自我”当创建自定义的UITableViewCell斯威夫特
问题描述:
我想在我的Objective-C代码加载笔尖自定义UITableViewCell
我这样做勘定的“自我”当创建自定义的UITableViewCell斯威夫特
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
NSArray *nibArray = [[NSBundle mainBundle]loadNibNamed:@"RouteCell" owner:self options:nil];
self = [nibArray firstObject];
}
return self;
}
当我试图实现在斯威夫特我这个方法不能找到一种方法来“翻译”的self = [nibArray firstObject]
这里是我的斯威夫特实施
override init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
var nibArray = NSBundle.mainBundle().loadNibNamed("RouteCell", owner: self, options: nil)
self = nibArray.first
}
在最后一行我得到的错误。我如何在Swift中完成这项任务?
答
init
swift中的方法与obj-c中的方法非常不同。您应该在这里阅读Apple文档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-XID_318
self
不能在swift中重写。
要为您的单元格使用自定义xib,可以考虑使用替代方法。这是一个想法:
var nipName=UINib(nibName: "RouteCell", bundle:nil)
self.tableView.registerNib(nipName, forCellReuseIdentifier: reuseIdentifier)