2016-05-13 83 views
0

我正在开发一个iOS应用程序,它从照片库中获取视频,并且它一直工作。我只是测试的应用程序在不同的设备上(这是不是我考第一),它崩溃,当我使用检索到的数据,我不明白为什么...NSRangeException与PHFetchResult

这里是我的代码:

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个视频,但它崩溃时,我== 59

以下是错误我得到:

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray' 
+1

不,它不会在'我== 59',它崩溃索引0崩溃,你肯定是代码实际上导致错误/崩溃? – luk2302

+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)) } 
    } 
} 
0

在测试Video构造函数之后,出现这个问题。出于某种原因,当我打电话给let resources = PHAssetResource.assetResourcesForAsset(asset)时,它会返回一个空数组,这是应用程序崩溃的位置。

对不起,我这个没用的帖子,也许这将帮助别人......

相关问题