fatal error: NSArray element failed to match the Swift Array Element type

Suddenly I’v started getting run time error as,

fatal error: NSArray element failed to match the Swift Array Element type

I’v declared my array as,

  • xcode 6 beta 7:A signed resource has been added modified or deleted.
  • Swift AnyObject is not convertible to String/Int
  • Trying to use KeychainItemWrapper by Apple “translated” to Swift
  • Type 'AnyObject' does not conform to protocol 'SequenceType'
  • Missing argument for parameter #1 in call error for function with no params. Swift
  • Use Cocoapods with an App Extension
  • var myArray : [CUSTOM_CLASS] = [CUSTOM_CLASS]()
    

    Now, in my server response success block I have,

    self.myArray = dicResponse["data"]! as Array
    
    println(self.myArray) // FATAL ERROR HERE
    

    Which was working perfect before upgrading to Xcode6 Beta6

    FYI : dicResponse["data"]! // is verified as valid
    

    (Sorry to pointing wrong place before!)

    SOLVED :

    Dont know but I’d made some changes and it works,

    var myArray = [AnyObject]()
    
    self.myArray = dicResponse["data"]! as [AnyObject]
    

    3 Solutions Collect From Internet About “fatal error: NSArray element failed to match the Swift Array Element type”

    If I could supplement Teejay’s answer with some further information. This error:

    fatal error: NSArray element failed to match the Swift Array Element type
    

    is caused by a type mismatch.

    For example having cast to your Swift array type:

        myPersonList = aDictionary["persons"] as [Person]
    

    Accessing the value in aDictionary based upon key "persons", Swift expects to receive an array of type Person. This will compile and will execute without issue.

    However, later in your code when accessing the myPersonList array element, if the type is not as specified – in my example Person – then execution will crash with the error above.

    Bottom line: you almost certainly have specified the wrong type in the cast. Examine your dictionary object to see what it really contains.

    If you are working with Cocoa APIs you always receive a NSArray, which is not typified.

    So, you need to cast that array to a Typified Swift Array.

    You should be able to compile this code:

    var myArray : [CUSTOM_CLASS] = [CUSTOM_CLASS]()
    
    self.myArray = dicResponse["data"]! as [CUSTOM_CLASS]
    

    This way, each array element is casted to a CUSTOM_CLASS object.

    TL;DR: Also caused by mixing Xcode 7 and Xcode 7.1 binaries.

    This has already been answered, but I just got this error in the bowels of Alamofire for an array cast of a valid [String].

    In my case, I was using carthage and had not realized that xcode-select was still pointing at the crash-happy Xcode 7. Updating xcode-select to Xcode 7.1B fixed my problem.