In swift zuweisen, ich habe eine School
Klasse, es hat eine students
Eigenschaft vom Typ [AnyObject]!
kann keinen Wert vom Typ ‚NSArray‘ auf einen Wert des Typs ‚[ANYOBJECT]‘
class School : NSObject {
var students: [AnyObject]!
...
}
ich eine Instanz bekam von School
und eine NSArray
Zeichenfolge, die die Namen der Schüler darstellt. Ich möchte diese NSArray
Variable students
zuzuweisen:
var school = School()
var studentArray : NSArray = getAllStudents()
//ERROR:Cannot assign a value of type 'NSArray' to a value of type '[AnyObject]'
school.students = studentArray
Warum dieser Fehler? Ist Array nicht in Swift kompatibel mit NSArray in Ziel c ??? Wie kann man den obigen Compilerfehler loswerden?
Die Verwendung des tatsächlichen Typs in der Deklaration ermöglicht es dem Compiler, Zuweisungen zu erzwingen, was im Allgemeinen eine "gute Sache" ist. – zaph