我有两个NSMutableArrays;名称和名称ID 在我的tableview中,只有名称将显示为textLabel。附加两个NSMutableArrays并使用UISearchBar
我想使用UISearchBar搜索名称。例如;
name -- nameID
Stack 123
Over -1
nameID是需要使用的主要事情。
那么,是否有可能连接两个NSMutableArrays,以便每当用户选择堆栈时,它显示123?
感谢
我有两个NSMutableArrays;名称和名称ID 在我的tableview中,只有名称将显示为textLabel。附加两个NSMutableArrays并使用UISearchBar
我想使用UISearchBar搜索名称。例如;
name -- nameID
Stack 123
Over -1
nameID是需要使用的主要事情。
那么,是否有可能连接两个NSMutableArrays,以便每当用户选择堆栈时,它显示123?
感谢
如何使用一个NSMutableDictionary
与名称为键和IDS的价值观?
然后,在您的表格中,可以使用[myNameDict allKeys]
找到数据数组。
或者,您可以通过调用[myNameDict allValues]
将id的键和名称作为值,在这种情况下,所有名称都可以作为数组访问。
请记住,allKeys
和allValues
返回数组的顺序不能保证。
因此,作为第三种选择,您可以维护一个字典数组,其中每个字典都有两个键名称和ID,其值是名称和ID。然后你将每个名字和id配对成一个单独的对象(一本字典),你可以确定你的名字/ id对数组的顺序。
一种方法可能是这样的,而不是分开维护数据,因为他们承担的关系,你可以封装他们在一个类,说Record
其中有两个字段name
和id
。现在保存这个对象的数组(比如说recordList
)。
当我们可以搜索任何Record
给定searchText
如下。
-(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
== 0`)。
将来,假设您需要为Record记录更多细节,而不是简单。
我发现的一个简单的方法是加入字符串(名称#nameID),然后单独返回nameID。