Beim Durchlaufen eines Arrays von UICollectionViewCells in UICollectionView.visibleCells() dann überprüft, ob die Zelle mit einem Protokoll übereinstimmt, es vergisst, dass die Zelle eine UIView ist und eine Rahmeneigenschaft hat.Swift-Forget-Objekte sind ein Typ
for cell in collectionView.visibleCells() {
let cellPosition1 = cell.frame.origin
if let cell = cell as? AwesomeCellProtocol {
let cellPosition2 = cell.frame.origin
cell.doAwesome(cellPosition)
}
}
geben Swift einen Compiler-Fehler auf Einstellung cellPosition2:
Value of type 'AwesomeCellProtocol' has no member 'frame'
Einstellung cellPosition1 gut funktioniert.
Kann ich nach UIView und AwesomeCellProtocol suchen?
Sie können derzeit keine Mischung aus Klassen- und Protokolltyp wie in Objective-C erstellen. – Sulthan