- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试从照片库中获取两个日期和 I am getting the images successfully. 范围内的图像使用 PHAsset 库
现在的问题是我无法在同一天的两次之间(例如中午 12:10 到中午 12:30 之间)获取图像
使用下面的代码
NSDate *startDate = [self getDateForDay:30 andMonth:9 andYear:2016 andHour:12 andMinute:10 andSecond:0];
NSDate *endDate = [self getDateForDay:30 andMonth:9 andYear:2016 andHour:12 andMinute:30 andSecond:0];
--
-(NSDate*) getDateForDay:(NSInteger) day andMonth:(NSInteger) month andYear:(NSInteger) year andHour:(NSInteger) hour andMinute:(NSInteger) minute andSecond:(NSInteger) second{
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:day];
[comps setMonth:month];
[comps setYear:year];
[comps setHour:hour];
[comps setMinute:minute];
[comps setSecond:second];
NSCalendar* gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[gregorian setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSDate *date = [gregorian dateFromComponents:comps];
return date;
}
-- 并将这些日期传递给下面的方法以获取图像
PHFetchResult *result = [self getAssetsFromLibraryWithStartDate:startDate andEndDate:endDate];
当我在日志中打印但未获取图像时日期和时间正确
如何解决这个问题?
最佳答案
此处创建的日期将采用 UTC 时区,您的可能会有所不同。这就是谓词可能不会返回正确结果的原因。
在从日历创建日期之前,请确保已将日历的时区设置为系统时区,例如:
NSCalendar* gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[gregorian setTimeZone: [NSTimeZone systemTimeZone]];
NSDate *date = [gregorian dateFromComponents:comps];
这将在您本地的时区创建日期并生成正确的结果。
关于ios - PHFetchResults 日期过滤器没有为时间范围生成正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788426/
我只是想将位于名为“MyFolder”的自定义文件夹中的照片访问到我的 UICollectionView。我可以使用以下代码轻松地处理“所有照片和视频”,但我不知道如何过滤结果以仅包含我的文件夹名称:
我正在尝试从照片库中获取两个日期和 I am getting the images successfully. 范围内的图像使用 PHAsset 库 现在的问题是我无法在同一天的两次之间(例如中午 1
我正在尝试构建一个简单的照片选择器,目前有两个选项:最近和收藏夹。我正在做的是尝试在 creationDate 之前获取所有照片,但这是在我的数据源中以错误的顺序返回图像。数据源的开头是几年前的照片,
我正在开发一个 iOS 应用程序,它可以从照片库中获取视频,并且它始终有效。我刚刚在不同的设备上测试了该应用程序(这不是我测试的第一个),当我使用检索到的数据时它崩溃了,我不明白为什么...... 这
NSString *predicateFormat = [NSString stringWithFormat: @"mediaSubtype = %zd", PHAssetMediaSubtypeVi
我正在使用 YangMingShan作为照片选择器,这正是我所需要的,但是当用户有很多照片时我遇到了问题。 我一直在使用包含 25,000 多张照片和 250 个相册的手机进行测试,当我展示 View
在 swift 3 中,该方法向我显示“'enumerateObjects' 的使用不明确”,发生了什么。我该怎么办? extension PHFetchResult { public func as
我遇到了以下编译错误: Cannot invoke 'enumerateObjectsUsingBlock' with an argument list of type '((_, _, _) ->
我正在尝试向 PHFetchResult 添加扩展以将结果对象作为正确类型的数组拉出 - 到目前为止,我无法弄清楚如何避免下面看到的复制。除了类型约束之外,以下扩展是相同的。如果我使用 PHObjec
Swift 和 iOS 开发的新手。有人能告诉我如何将两次调用 PHAssetCollection.fetchAssetCollectionsWithType 的结果结合起来吗?具体来说,我试图获得一
我正在尝试使用 iOS 8 中的新照片框架获取在设备上拍摄的最后一张照片的缩略图。我现在拥有的执行此操作的代码如下: PHFetchOptions *fetchOptions = [PHFetchOp
我可以使用以下代码从照片库中获取照片列表。 guard let assetCollection = collection as? PHAssetCollection
不太确定为什么我得到“在 Swift 3 中‘枚举对象’的使用不明确。 let collections = PHAssetCollection.fetchAssetCollections(with:
这是我的代码: var galleryController: GalleryController! var albums: PHFetchResult = PHFetchResult(
我是一名优秀的程序员,十分优秀!