[英]Attach two NSMutableArrays and use with UISearchBar
我有两个NSMutableArrays; name和nameID在我的表视图中,只有名称将显示为textLabel。
我想使用UISearchBar搜索名称。 例如;
name -- nameID
Stack 123
Over -1
nameID是需要使用的主要内容。
那么,是否可以链接两个NSMutableArrays,以便每当用户选择Stack时,它都显示123?
谢谢
如何使用一个NSMutableDictionary
以名称作为键,将ids作为值?
然后,在您的表中,可以使用[myNameDict allKeys]
找到数据数组。
或者,您可以使id为键,为名称命名为值,在这种情况下,可以通过调用[myNameDict allValues]
将所有名称作为数组访问。
请记住, allKeys
和allValues
返回不保证顺序的数组。
因此,作为第三个选择,您可以维护一个词典数组,其中每个词典都有两个键:name和id,其值分别是name和id。 然后,将每个名称和ID配对到一个对象(一个字典)中,就可以确定名称/ ID对数组的顺序。
一种方法可能是这样的,而不是单独维护数据,因为它们具有关系,您可以将它们封装在一个类中,称为Record
,该类具有两个字段name
和id
。 现在保存此对象的数组(例如recordList
)。
当我们可以使用给定的searchText
搜索任何Record
时,如下所示。
-(Record *) searchRecordWithName:(NSString *)searchText
{
Record *tempRecord;
for( tempRecord in recordList)
{
NSRange searchRange = [tempRecord.name rangeOfString:searchText options:NSCaseInsensitiveSearch];
if( searchRange.length>0 && searchRange.location==0)
{
break;
}
}
return tempRecord;
}
请根据您的需要更正上面的代码。 在这里,我正在考虑您要查找名称以searchText开头的record
nameId(如您所见,我使用了searchRange.location
== searchRange.location
)。
将来,假设您需要保存“记录”的更多详细信息,这将比以前更容易。
我发现一种简单的方法是连接字符串(名称#nameID),然后分开获取名称ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.