- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 AssetsLibrary 框架来检索 iPhone 中的所有 Assets 组。我有一些这样的代码片段:
NSMutableArray *groups = [[NSMutableArray alloc] initWithCapacity:5];
void (^groupEnumerator)(ALAssetsGroup*, BOOL*) = ^(ALAssetsGroup *group, BOOL *stop) {
if(group != nil) {
NSLog(@"Adding group %@", [group valueForProperty:ALAssetsGroupPropertyName]);
[groups addObject:group];
}
};
ALAssetsLibrary* library = [AssetsManager defaultAssetsLibrary];
[library enumerateGroupsWithTypes: ALAssetsGroupSavedPhotos
usingBlock:groupEnumerator
failureBlock:^(NSError * err) {NSLog(@"Erorr: %@", [err localizedDescription]);}];
我发现了一个奇怪的行为:
1) 当我在 iOS 模拟器中运行我的应用程序时(在 Xcode 中使用 command + R),将执行 groupEnumerator 并在控制台中打印组名称
2)我为我的应用程序编写了一些单元测试,当我运行单元测试(在 Xcode 中使用 command + U)时,它调用上面的代码片段,因为它在我的应用程序中被调用,groupEnumerator 似乎没有在所有组名称都不会被打印,并且 failureBlock 也不会被调用,运行测试时我没有收到任何错误,但组枚举不能像在应用程序中那样工作。
我检查了Apple的文档,我知道这个方法(enumerateGroupsWithTypes:usingBlock:failureBlock:)是异步的,但是,即使我在单元测试中等待很长时间,我也没有看到groupEnumerator被执行。
我正在使用 Xcode 4.2 针对 iOS 5.0 进行测试。
感谢任何帮助。谢谢。
最佳答案
卡在这个问题上好几天了,无法找出这个问题的具体原因。
我不得不改用 gh-unit,而不是在 Xcode 4 中使用 OCUnit,这实际上解决了这个问题。这似乎与 Xcode 4 运行测试目标的方式有关。
关于iphone - ALAssetsLibrary enumerateGroupsWithTypes 不返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342910/
我正在使用 [assetsLibrary enumerateGroupsWithTypes:groupTypes usingBlock:listGroupBlock failureBlock:fail
我正在使用以下代码遍历 eh albums,如果它找到我需要的那个,它应该停止进一步循环。 public func importPhotosFromGallery(albumName: String
我正在使用 AssetsLibrary 框架来检索 iPhone 中的所有 Assets 组。我有一些这样的代码片段: NSMutableArray *groups = [[NSMutableArra
我正在使用 [ALAssetsLibrary enumerateGroupsWithTypes:] 将 ALAsset 存储在数组中。由于这是一个异步操作,我需要等待它完成才能继续我的工作。 我读到C
在 iOS 4.x 上,我尝试枚举设备上的所有照片,当枚举完成后,再用相同的方法进一步处理该列表。 由于 enumerateGroupsWithTypes 的 block 在另一个线程上异步运行,我看
我尝试使用 ALAssetsLibrary 类的 enumerateGroupsWithTypes 方法,但第一个参数出现错误。 方法原型(prototype): func enumerateGrou
照片流组在过滤视频时返回计数 0。这是要重现的代码: ALAssetsGroupType groupTypes = ALAssetsGroupPhotoStream; ALAssetsFilter*
我注意到即使我将 *stop BOOL 指针设置为 YES,我的枚举 block 也会被执行两次。我以为设置 *stop = YES 会在第一个之后停止? [lib enumerateGroupsWi
我最近和一些人一样,发现[ALAssetsLibrary enumerateGroupsWithTypes] 喜欢在另一个线程上运行它的 block 。苹果没有记录这一点真是太可惜了:-) 在我目前的
今天我将 Xcode 6 升级到 beta 5(从 beta 1),你可以想象我发现我以前运行完美的 Swift 应用程序充满了各种错误(嗯,从 beta 1 开始有很多变化)。在所有错误中,有一个我
我正在开发一个基于 ALAssetsLibrary api(从 4.0 开始可用)的 iOS 应用程序,我用它来检索设备上保存的所有图像和视频,这非常简单。不管怎样,只要我在我的 iPhone 4 上
我是一名优秀的程序员,十分优秀!