NSPredicate作为字符串的结果

时间:2011-06-15 12:52:31

标签: objective-c cocoa nsstring nspredicate

NSPredicate *predicate;
predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS 'aaa'"];
BOOL result = [predicate evaluateWithObject:@"anystringaaaggg"];

结果是真的。但我需要创建一个包含“aaa”的NSString。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

不这样做。

例如,你怎么能创建一个等于“Steve”或“Novikoff”的字符串?然而,你可以创建一个谓词来检查相同的条件。

答案 1 :(得分:0)

你说上面代码的结果为True所以你需要创建NSString对象。

NSPredicate *predicate;
predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS 'aaa'"];
//this is for NSString object
NSString *checkMe=@"anystringaaaggg";
BOOL result = [predicate evaluateWithObject:checkMe];

然后我们可以将此checkMe用作字符串对象,并在任何你想要的地方使用

OR

//other object
id *checkMe=anyObject;
BOOL result = [predicate evaluateWithObject:[NSString stringWithFormat:@"%@",checkMe]];
NSString *result=[checkMe stringValue];

然后我们可以将此结果用作字符串对象,并在任何你想要的地方使用