2016-05-13 4 views
0

フォトギャラリーからビデオを取得し、常に動作するiOSアプリケーションを開発しています。私は(これは私がテストした上で初めてではない)別のデバイスでアプリをテストし、私が取得したデータを使用して、私は理由を理解していない間、それがクラッシュ...ここPHFetchResultを使用したNSRangeException

は私のコードです:

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

その後、私はVideoコンストラクタをテストしなかったことを実感しました。私はここでアプリケーションがクラッシュすると思います。私は月曜日にそれをテストします –

答えて

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)と呼ぶと空の配列が返され、アプリがクラッシュしていました。この役に立たないポストのため、多分それは...誰かを助ける

申し訳

関連する問題