考虑以下代码:
let options = PHFetchOptions()
options.predicate = NSPredicate(format: "hidden == YES")
let albumAssetCollections:PHFetchResult! = PHAssetCollection.fetchAssetCollectionsWithLocalIdentifiers([currentAlbumLID], options: nil)
let albumCollection:AnyObject! = albumAssetCollections.firstObject
albumPhotoAssets = PHAsset.fetchAssetsInAssetCollection(albumCollection as PHAssetCollection, options: options)返回错误:
‘'NSInvalidArgumentException',原因:’提取选项中不支持的谓词:隐藏的== 1‘
但是,如果我替换:
options.predicate = NSPredicate(format: "hidden == YES")通过以下方式:
options.predicate = NSPredicate(format: "favorite == YES")它起作用了!
我不明白为什么我会收到这样的错误。"favorite“和"hidden”属性都是Bools,以相同的方式记录,因此,它们在NSPredicate声明中的行为应该相同,不是吗?
我到底做错了什么.或者这是swift/xCode的某个bug?我会假设这是我的错误。
发布于 2014-10-24 00:28:18
好的..。
如前所述,下面的代码产生了一个“不支持的谓词”错误:
options.predicate = NSPredicate(format: "hidden == YES")但是,如果我将上面的内容替换为:
options.includeHiddenAssets = truefetch按照预期工作,返回隐藏的照片资产。
发布于 2014-10-23 17:10:02
我会尝试:
options.predicate = NSPredicate(format: "hidden = %@", true)如果您想组合谓词,请尝试:
let compoundPredicate = NSCompoundPredicate.andPredicateWithSubpredicates([FirstPredicate, SecondPredicate])
options.predicate = compoundPredicatehttps://stackoverflow.com/questions/26524664
复制相似问题