Iphone 访问NSPredicate中自定义对象中的自定义对象
我有一个自定义联系人对象的可变数组,这些对象又有地址对象。 我想按对象的属性筛选该数组,例如contact.address.pincode,使用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
[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语句相同的大小写。