NSPredicate使用Contains比较整数

rag*_*hul 7 iphone objective-c nspredicate

我使用NSPredicate使用UISearchBar搜索列表中的数字,它适用于字符串但不适用于整数

我使用以下谓词

predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"%@ contains[c]  %d", @"number", [searchBar.text intValue]]];
[objectArray filterUsingPredicate:predicate];
[tableview reloadData];
Run Code Online (Sandbox Code Playgroud)

例如,如果我输入1然后必须列出数组中的所有数组,我已经尝试过==它只适用于确切的数字,如果尝试任何解决这个问题?

现在,如果我使用此方法,则会出现错误"无法在集合中使用in/contains运算符"

rde*_*mar 16

我认为这个谓词应该适合你:

predicate = [NSPredicate predicateWithFormat:@"self.number.stringValue CONTAINS %@",searchBar.text];
Run Code Online (Sandbox Code Playgroud)

在考虑了这个之后,我不确定为什么self.number.stringValue可以正常工作,但是当我测试它时它就行了(self.number是一个int).不知道为什么我可以将stringValue发送到int?