2014-09-23 3 views
0

UICollectionViewController의 init 메소드를 Obj-C에서 Swift로 변환하려고합니다. 내가 문제 self에 할당을 변환하는 데Objective-C를 Swift로 변환 : 자체에 할당

override init(collectionViewLayout layout: UICollectionViewLayout!) { 
     super.init(collectionViewLayout: layout) 
     self.collectionView?.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: "CELL_ID") 
     self.collectionView?.backgroundColor = UIColor.clearColor() 
} 

:

-(id)initWithCollectionViewLayout:(UICollectionViewFlowLayout *)layout { 
    if (self = [super initWithCollectionViewLayout:layout]) { 
     [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:CELL_ID]; 
     [self.collectionView setBackgroundColor:[UIColor clearColor]]; 
    } 
    return self; 
} 

이것은 내가 지금까지 무엇을 가지고 : 여기에 원래의 코드입니다. 나는 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-XID_318에서 설명서를 읽었지만 아무 소용이 없습니다. 미리 감사드립니다!

답변

2

스위프트에서 개체를 초기화 할 때 안전하다는 보장이 있습니다.

따라서 nil 값을 검사 할 필요가 없습니다.

1

Swift 생성자에서 self에 할당 할 필요가 없습니다. 위의 내용은 문제가 없습니다.

그러나 UICollectionViewCell.self은 단지 UICollectionViewCell이어야합니다.

관련 문제