Ошибка сегментации: 11 - Xcode 10

  1. При проверке типа в 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. При проверке типов в RangeText="playlists = try? context.fetch(request) as NSArray!" ошибка: Ошибка сегментации: 11

Вот код:

 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]
        }
    }
}

Это работает до того, как я обновился до Xcode 10. Есть идеи?


person WT24    schedule 17.09.2018    source источник
comment
Я не совсем понимаю, в чем ошибка сегментации - это не ваше приложение во время выполнения? Это XCode или компилятор Swift?   -  person Rup    schedule 18.09.2018
comment
@Rup Я пытаюсь скомпилировать и запустить, но мне показывает эту ошибку.   -  person WT24    schedule 18.09.2018


Ответы (1)


Не существует такого типа, как NSArray!, и в любом случае у вас никогда не было причин приводить к нему. Удалите as NSArray! везде. Используйте типы Swift.

person matt    schedule 18.09.2018