我正在开发一个iOS应用程序,从照片库中取出视频,它始终有效。我刚刚在不同的设备上测试了应用程序(这不是我测试的第一个),当我使用检索到的数据时它崩溃了,我不明白为什么......
这是我的代码:
self.videosAssets = PHAsset.fetchAssetsWithMediaType(.Video, options: nil)
if self.videosAssets != nil {
for i in 0..<self.videosAssets!.count {
if let video = self.videosAssets!.objectAtIndex(i) as? PHAsset {
self.videos.append(Video(asset: video))
}
}
}
它可以获取221个视频,但在i == 59时会崩溃。
这是我得到的错误:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray'
答案 0 :(得分:0)
self.videosAssets = PHAsset.fetchAssetsWithMediaType(.Video, options: nil)
if let videoAssets = self.videosAssets {
videoAssets.forEach { video in
if video as? PHAsset { self.videos.append(Video(asset: video)) }
}
}
答案 1 :(得分:0)
测试Video构造函数后,问题就出现了。出于某种原因,当我调用let resources = PHAssetResource.assetResourcesForAsset(asset)
时,它会返回一个空数组,这就是应用程序崩溃的地方。
对于这个无用的帖子感到抱歉,也许它会帮助某人...