WT24
WT24

Reputation: 43

Segmentation fault: 11 - Xcode 10

  1. While type-checking statement at RangeText="{ playlistNames = [] let requestLibrary = NSFetchRequest(entityName: "Library")

    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Playlist")
    request.sortDescriptors = [playlistSortDescriptor]
    
    playlists = try? context.fetch(request) as NSArray!
    print("Playlist Count - ",playlists.count)
    
    
    let librarys:NSArray! = try? context.fetch(requestLibrary) as NSArray!
    for library in librarys{
        let libraryName = (library as AnyObject).value(forKey: "library") as! String
        playlistNames += [libraryName]
    }
    
    for playlist in playlists{
        let playlistName = (playlist as AnyObject).value(forKey: "playlistName") as! String
        if playlistName == "Library" {
            playlistNames.insert(playlistName, at: 0)
        }else {
            playlistNames += [playlistName]
        }
    }
    

    }"

  2. While type-checking expression at RangeText="playlists = try? context.fetch(request) as NSArray!" error: Segmentation fault: 11

Here is the code:

 func refreshPlaylists(){
    playlistNames = []
    let requestLibrary = NSFetchRequest<NSFetchRequestResult>(entityName: "Library")

    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Playlist")
    request.sortDescriptors = [playlistSortDescriptor]

    playlists = try? context.fetch(request) as NSArray!
    print("Playlist Count - ",playlists.count)


    let librarys:NSArray! = try? context.fetch(requestLibrary) as NSArray!
    for library in librarys{
        let libraryName = (library as AnyObject).value(forKey: "library") as! String
        playlistNames += [libraryName]
    }

    for playlist in playlists{
        let playlistName = (playlist as AnyObject).value(forKey: "playlistName") as! String
        if playlistName == "Library" {
            playlistNames.insert(playlistName, at: 0)
        }else {
            playlistNames += [playlistName]
        }
    }
}

It works before i updated to Xcode 10. Any idea ?

Upvotes: 1

Views: 2113

Answers (1)

matt
matt

Reputation: 536027

There is no such type as NSArray! and in any case there was never any reason for you to cast to it. Delete as NSArray! throughout. Use Swift types.

Upvotes: 2

Related Questions