Swift 4 NSPredicate 日期格式不起作用
Posted
技术标签:
【中文标题】Swift 4 NSPredicate 日期格式不起作用【英文标题】:Swift 4 NSPredicate date format not working 【发布时间】:2018-08-26 21:11:15 【问题描述】:我正在尝试从用户的相机胶卷中获取过去 7 天内拍摄的照片和视频。
这是我的代码...
let oneWeekAgoDate = NSCalendar.current.date(byAdding: .weekOfYear, value: -1, to: NSDate() as Date)
fetchOptions.predicate = NSPredicate(format: "date > %@ && (mediaType = %d || mediaType = %d)",oneWeekAgoDate! as NSDate, PHAssetMediaType.image.rawValue, PHAssetMediaType.video.rawValue)
取自https://***.com/a/30520861/6633865
但是我的应用不断终止并显示此消息
获取选项中不支持的谓词:date > CAST(556405508.551209, "NSDate")
有什么想法吗?
谢谢
【问题讨论】:
您确定属性date
可用于您的 fetch 的目标类型吗? I can find creationDate
or modificationDate
,但没有 date
。
与您的问题无关,但使用Calendar
和Date
,而不是NSCalendar
或NSDate
。
@OOPer 宾果游戏!这就是我要找的页面,谢谢!
@rmaddy 感谢您的提示。会做
【参考方案1】:
var p: NSPredicate?
let date = Date()
p = NSPredicate(format: "mediaType = %d AND ( creationDate < %@ )",PHAssetMediaType.image.rawValue,date as NSDate)
再试一次!
【讨论】:
以上是关于Swift 4 NSPredicate 日期格式不起作用的主要内容,如果未能解决你的问题,请参考以下文章
NSPredicate 对象模型数组过滤器在 Swift 4.0 中无法正常工作
NSPredicate'运算符'LIKE'不支持int类型'