Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 访问NSPredicate中自定义对象中的自定义对象_Iphone_Ios_Cocoa - Fatal编程技术网

Iphone 访问NSPredicate中自定义对象中的自定义对象

Iphone 访问NSPredicate中自定义对象中的自定义对象,iphone,ios,cocoa,Iphone,Ios,Cocoa,我有一个自定义联系人对象的可变数组,这些对象又有地址对象。 我想按对象的属性筛选该数组,例如contact.address.pincode,使用 [myContacts filterUsingPredicate:myPredicate]; 所以我创建了一个如下谓词: [NSPredicate predicateWithFormat:@"Address.pincode BEGINSWITH[cd] %@ OR Address.pincode CONTAINS[cd] %@",searchText

我有一个自定义联系人对象的可变数组,这些对象又有地址对象。 我想按对象的属性筛选该数组,例如contact.address.pincode,使用

[myContacts filterUsingPredicate:myPredicate];
所以我创建了一个如下谓词:

[NSPredicate predicateWithFormat:@"Address.pincode BEGINSWITH[cd] %@ OR Address.pincode CONTAINS[cd] %@",searchText,[NSString stringWithFormat:@" %@",searchText]];
这显然不起作用

我的问题是如何访问谓词格式字符串中的Contact.Address.pincode?
谢谢

问题可能是,您可以不使用谓词直接访问它吗?我的意思是有数据吗?在你的问题中你写了“contact.address.pincode”--地址是联系人对象的属性吗?在你的代码中,你用大写字母“a”写了“Address”,其中一个是打字错误吗?@a-live我想用谓词过滤表数据。我无法构造正确的谓词格式字符串来访问对象。@rdelmar地址(kindOfClass地址)是Contacts对象的属性,而pincode(字符串)是address对象的属性。在其他一些谓词格式字符串示例中,我看到第一个字母被大写,因此尝试将属性名称大写。@shyam 1)我理解您试图使用谓词,问题是-您能在不使用谓词的情况下访问数据吗?尝试记录所有
Contact.Address.pincode
若要查看谓词处理的内容,可能没有数据或属性无效。2) 据我所知,谓词中的属性名称区分大小写,使用与@property语句相同的大小写。