2017-06-16 4 views
-1
override func layoutAttributesForElements(in rect: CGRect) -> [AnyObject]? { 
    var layoutAttributes = [UICollectionViewLayoutAttributes]() 
    // Loop through the cache and look for items in the rect 
for attributes in cache { 
    if attributes.frame.intersects(rect) { 
    layoutAttributes.append(attributes) 
    } 
} 
return layoutAttributes } 

Hier bekomme ich den Fehler.Methode überschreibt keine Methode aus der Superklasse in Swift3?

Methode überschreibt keine Methode aus ihrer Oberklasse.

Wie kann ich das Problem beheben.

Jeder kann bitte helfen Sie mir.

Vielen Dank im Voraus.

+0

Dies ist mehr über Apples Frameworks als über Swift: Von welcher Klasse erben Sie? Ist das auf iOS, MacOS ...? Vielleicht gibt es keine solche Methode, die in der Oberklasse überschrieben werden kann, oder vielleicht hat die Methode ihren Namen/ihre Signatur geändert. Wie auch immer, das Betrachten der Dokumentation für die Superklasse wird die Lösung liefern (das Entfernen der Überschreibung wird nur eine nutzlose Methode erzeugen, die nichts aufrufen wird). – Moritz

+0

Sind Sie sicher, dass Sie versuchen, dies innerhalb einer Instanz von layoutAttributesClass zu tun? –

Antwort

-2

Versuchen Sie, die override zu entfernen, sollte funktionieren.

Der Fehler liegt wahrscheinlich daran, dass eine andere Funktion fehlt, daher sollte diese Lösung funktionieren.

Verwandte Themen