Annotationsfehler in Swift for loop mit Array und UIView

7

Ich dachte, es wäre ein großartiges Lernexperiment, eine kleine Obj-C-Bibliothek zu nehmen und sie in Swift umzuwandeln. Da ich diese Bibliothek schließlich in einer App verwenden möchte, habe ich das Beispiel für das Pfad-App-Menü hier gefunden: Ссылка

Ich denke, ich habe einen guten Job gemacht, um Antworten zu konvertieren und zu suchen, da ich gerade mit Obj-C und Swift anfange. Aber jetzt habe ich einen Fehler, für den ich keine Lösung finden kann.

ExpandableNavigation.swift

%Vor%

Fehler bei ExpandableNavigation.swift

Error: Type annotation does not match contextual type 'AnyObject'

Dieser Fehler tritt sowohl in der init () - als auch in der expand () -Methode auf, wo er steht %Code% Ich habe versucht, das Array UIView [] machen, aber das verursacht sonst wo.

ViewController.swift - Als Referenz

%Vor%     
Michael Bond 06.06.2014, 22:10
quelle

1 Antwort

19

Swift wird aus Sicherheitsgründen kein implizites Casting für dich machen. Es wird kein AnyObject (das ist der Typ, den NSArray speichert) in eine UIView ohne explizite Umwandlung umgewandelt. Sie sollten Folgendes tun:

%Vor%

Dies führt eine Schleife durch das Array von Menüelementen mit einem AnyObject und überprüft, ob obj eine Ansicht ist, bevor es als eine umgewandelt wird.

    
drewag 06.06.2014, 22:17
quelle

Tags und Links