大佬教程收集整理的这篇文章主要介绍了ios – ALAssetsLibrary似乎返回错误的照片数量,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
崩溃信息是:
“由于未捕获的异常’NSRangeException’终止应用程序,原因:’*** – [NSOrderedSet enumerateObjectsAtIndexes:options:usingBlock:]:索引14超出边界[0 .. 9]’”.’14’
看起来本地照片的数量仍然与befoore相同.即使在我退出应用程序并重新启动它之后,它仍然会崩溃.
本地照片访问代码:
dispatch_async(dispatch_get_main_queue(),^ { @autoreleasepool { ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror) { NSLog(@"error occour =%@",[myerror localizedDescription]); }; ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result,NSUInteger index,BOOL *stop) { if (result!=NULL) { if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) { [self.g_imageArray addObject:result]; } } }; ALAssetsLibraryGroupsEnumerationResultsBlock libraryGroupsEnumeration = ^(ALAssetsGrouP* group,BOOL* stop) { if (group == nil) { return; } if (group!=nil) { [group enumerateAssetsUsingBlock:groupEnumerAtion]; } [self updatephotoList]; }; self.library = [[ALAssetsLibrary alloc] init]; [self.library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:libraryGroupsEnumeration failureBlock:failureblock]; } });
如果我用系统相机拍摄另一张照片,我的应用程序再次正常.
ALAssetsLibraryGroupsEnumerationResultsBlock libraryGroupsEnumeration = ^(ALAssetsGrouP* group,BOOL* stop) { if (group == nil) { return; } //Force to reload photo as numberOfAssets is broken NSLog(@"how many picture I have in this group: %d",[group numberOfAssets]); [group setAssetsFilter:[ALAssetsFilter allPhotos]];//this will cause group to reload NSLog(@"how many picture I have in this group: %d",[group numberOfAssets]); if (group!=nil) { [group enumerateAssetsUsingBlock:groupEnumerAtion]; } [self updatephotoList]; };
以上是大佬教程为你收集整理的ios – ALAssetsLibrary似乎返回错误的照片数量全部内容,希望文章能够帮你解决ios – ALAssetsLibrary似乎返回错误的照片数量所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。