分段错误:11 - Xcode 10

问题描述 投票:1回答:1
  1. RangeText =“{playlistNames = []时的类型检查语句让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)中将类型检查表达式作为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之前有效。任何想法?

ios swift xcode xcode10
1个回答
2
投票

没有像NSArray!这样的类型,在任何情况下都没有任何理由让你施展它。全程删除as NSArray!。使用Swift类型。

© www.soinside.com 2019 - 2024. All rights reserved.