相关疑难解决方法(0)

NSPredicate格式字符串不起作用

在我的代码中,我想检查并查看记录是否已经存在,因此我知道是创建它还是更新它.但是我遇到了一个问题.问题是当我使用它时:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"%@ == %@", ATTRIBUTE_ID, idNumber];
[request setPredicate:pred];
Run Code Online (Sandbox Code Playgroud)

这不起作用.它总是声称没有找到结果.但是,当我像这样重写它时,它工作得很好:

NSExpression *lhs = [NSExpression expressionForKeyPath:ATTRIBUTE_ID];
NSExpression *rhs = [NSExpression expressionForConstantValue:idNumber];
NSPredicate *pred = [NSComparisonPredicate
                                     predicateWithLeftExpression:lhs
                                     rightExpression:rhs
                                     modifier:NSDirectPredicateModifier
                                     type:NSEqualToPredicateOperatorType
                                     options:0];
[request setPredicate:pred];
Run Code Online (Sandbox Code Playgroud)

我在格式字符串中缺少什么或做错了什么?

cocoa objective-c foundation

3
推荐指数
1
解决办法
404
查看次数

使用NSPredicate根据属性NSDictionary过滤NSArray对象

我有一个具有以下属性的NSArray对象

@objc class Dummy: NSObject {
    let propertyOne: Int
    let propertyTwo: Int
    let propertyThree: NSDictionary
}
Run Code Online (Sandbox Code Playgroud)

propertyThree,它将具有某些键值对,例如

keyOne => valueOne
keyTwo => valueTwo
keyThree => valueThree
Run Code Online (Sandbox Code Playgroud)

我想通过我的假人NSArray的筛选对象基于断keyOneNSDictionary那是的属性Dummy对象.

我该怎么做呢?我仔细看了看:

但它似乎不适用.

nspredicate ios swift

2
推荐指数
1
解决办法
2268
查看次数

标签 统计

cocoa ×1

foundation ×1

ios ×1

nspredicate ×1

objective-c ×1

swift ×1