2016-03-31 2 views
1

ich eine Klasse Unterklasse von UICollectionViewFlowLayout habe und ich habe die layoutAttributesForElementsInRect MethodeKann Wert vom Typ '[UICollectionViewLayoutAttributes]?' Nicht konvertieren? In dem angegebenen Typ ‚NSMutableArray‘

definiert und innerhalb ich einen NSMutable Array zu machen versuchen, so dass ich die Objekte aufzählen kann.

der Code hierfür ist unter

override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? { 
    // I get the error at this line 
    var attributes : NSMutableArray = super.layoutAttributesForElementsInRect(rect) 
} 

i cant die Attribute Element als UICollectionViewLayoutAttributes Unterklasse, wie ich nicht in der Lage sein würde, mit einem Block durch sie aufzuzählen

Antwort

1

Wenn Sie eine NSMutableArray wollen, warum don‘ t Sie verwenden:

var attributes : NSMutableArray = NSMutableArray(array: super.layoutAttributesForElementsInRect(rect)) 

der Code, den Sie jetzt haben eine NSMutableArray erwartet, erhält aber eine Reihe von UICollectionViewLayoutAttributes

+0

Dies ist, weil Swift Array immer zu NSArray überbrückt wird. – Lumialxk