gpt4 book ai didi

ios - 打印 url 时的 Xcode EXC_BREAKPOINT (code=1, subcode=...)

转载 作者:IT王子 更新时间:2023-10-28 23:33:07 31 4
gpt4 key购买 nike

我自己的程序中有一个奇怪的错误。我目前正在开发视频编辑应用程序。我有一个 SongPicker View Controller ,它显示来自用户音乐应用程序的所有歌曲。当用户选择一首歌曲时,会创建一个表示该歌曲的新对象 (MediaAsset)。当 SongPicker 用 Swift 编写,MediaAsset 用 Objective-C 编写时,它工作得非常好。但是我在 Swift 上完全重写了 MediaAsset,现在每次我尝试从 SongPicker 创建新的 MediaAsset 时,Xcode 都会抛出 EXC_BREAKPOINT (code=1, subcode=...) 并且我的应用程序崩溃了。

这里是用户选择歌曲时调用的代码:

private let mediaItems = MPMediaQuery.songsQuery().items as [MPMediaItem]

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
let item = filteredMediaItems[indexPath.row]
println("didSelectRowAtIndexPath")
println("item: \(item), url: \(item.assetURL.absoluteString)")
delegate?.songPickerViewController(self, didPickedAsset: MediaAsset(url: item.assetURL, type: .Audio))
}

它实际上生成输出到控制台:

didSelectRowAtIndexPath
item: <MPConcreteMediaItem: 0x174648340> 2369259457983598523, url: Optional("ipod-library://item/item.mp3?id=2369259457983598523")

然后转到 MediaAsset 构造函数,如下所示:

init(url: NSURL, type: MediaAssetType){
println("new MediaAsset with url \(url.absoluteString)")
self.url = url
self.asset = AVURLAsset(URL: url, options: [AVURLAssetPreferPreciseDurationAndTimingKey: true])
self.timeRange = CMTimeRangeMake(kCMTimeZero, self.asset.duration)
self.initialRate = CGFloat(max(self.asset.videoTrack!.nominalFrameRate / 30.0, 1.0))
self.rate = self.initialRate
self.type = type
}

它打印到控制台:

new MediaAsset with url Optional("ipod-library://item/item.mp3?id=2369259457983598523")

在这条线上它粉碎了: Crush screenshot

从 AVURLAsset 创建 Assets 的代码与我在旧的 ObjectiveC 类中的代码完全相同(它工作得非常好),所以问题不应该属于 AVFoundation。有谁知道那次暗恋的原因是什么?作为更一般的问题,在哪些情况下会出现“EXC_BREAKPOINT (code=1, ...”?

编辑删除此 println 语句后,我的应用程序仍然崩溃,但现在显示此汇编代码:Crush

最佳答案

当值被 '!' 解包时会发生此异常运算符为零。修复 nil 值,代码应该可以工作。

关于ios - 打印 url 时的 Xcode EXC_BREAKPOINT (code=1, subcode=...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28701688/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com