使用照片框架的NSPredicate时出现异常:定义-[NSFunctionExpression constantValue]!
以下代码在调用FetchAssetWithOptions时引发NSInvalidArgumentException:使用照片框架的NSPredicate时出现异常:定义-[NSFunctionExpression constantValue]!,nspredicate,photokit,phasset,Nspredicate,Photokit,Phasset,以下代码在调用FetchAssetWithOptions时引发NSInvalidArgumentException: PHFetchOptions *allPhotosOptions = [[PHFetchOptions alloc] init]; allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; allPhoto
PHFetchOptions *allPhotosOptions = [[PHFetchOptions alloc] init];
allPhotosOptions.sortDescriptors =
@[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
allPhotosOptions.predicate =
[NSPredicate predicateWithFormat:@"pixelHeight >= pixelWidth * 1.95" ];
self.allPhotos = [PHAsset fetchAssetsWithOptions:allPhotosOptions];
信息是
NSInvalidArgumentException ... reason: '*** -constantValue only defined for abstract class.
Define -[NSFunctionExpression constantValue]!'
我尝试了谓词格式字符串的多种变体,但当我尝试使用乘法时,总是得到这个消息。我做错了什么?我不知道为什么,但当您没有将任何格式参数传递给predicateWithFormat:并将其用于照片时,您会出现此错误 我能够通过确保传递格式参数来解决这个问题。因此,在你的情况下:
float heightLimit = pixelWidth * 1.95;
[NSPredicate predicateWithFormat:@"pixelHeight >= %f", heightLimit];