我正在尝试将UICollectionViewController的init方法从Obj-C转换为Swift。这是原始代码:
-(id)initWithCollectionViewLayout:(UICollectionViewFlowLayout *)layout {
if (self = [super initWithCollectionViewLayout:layout]) {
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:CELL_ID];
[self.collectionView setBackgroundColor:[UIColor clearColor]];
}
return self;
}
这是我到目前为止所做的:
override init(collectionViewLayout layout: UICollectionViewLayout!) {
super.init(collectionViewLayout: layout)
self.collectionView?.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: "CELL_ID")
self.collectionView?.backgroundColor = UIColor.clearColor()
}
我无法将作业转换为self
。我在https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-XID_318阅读了文档,但无济于事。提前谢谢!
答案 0 :(得分:2)
在Swift中初始化对象时,保证安全。
因此,无需检查零值。
答案 1 :(得分:1)
您不需要在Swift构造函数中指定self。你上面的东西很好。
但是,UICollectionViewCell.self
应为UICollectionViewCell
。