分段错误:11 - Xcode 10
Segmentation fault: 11 - Xcode 10
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]
}
}
}"
- While type-checking expression at RangeText="playlists = try? context.fetch(request) as NSArray!" error: Segmentation fault: 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 之前有效。有什么想法吗?
不存在 NSArray!
这样的类型,而且在任何情况下都没有任何理由让您强制转换为它。从头到尾删除 as NSArray!
。使用 Swift 类型。
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] } }
}"
- While type-checking expression at RangeText="playlists = try? context.fetch(request) as NSArray!" error: Segmentation fault: 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 之前有效。有什么想法吗?
不存在 NSArray!
这样的类型,而且在任何情况下都没有任何理由让您强制转换为它。从头到尾删除 as NSArray!
。使用 Swift 类型。