【问题标题】:Converting Objective-C to Swift: Assigning to self将 Objective-C 转换为 Swift:赋值给 self
【发布时间】:2014-09-23 03:48:31
【问题描述】:

我正在尝试将 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 的文档,但无济于事。提前致谢!

【问题讨论】:

    标签: objective-c swift uicollectionview


    【解决方案1】:

    在 Swift 中初始化一个对象时,它保证是安全的。

    因此,没有必要检查它的 nil 值。

    【讨论】:

      【解决方案2】:

      你不需要在 Swift 构造函数中赋值给 self。你上面的没问题。

      但是,UICollectionViewCell.self 应该只是 UICollectionViewCell

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多