У меня есть такая запись.
Имя - Фамилия - Номер телефона - Адрес - Обозначение
A - Мик - 789367789 - Нью-Йорк - Профессор
B - Йосеф - 534647458 - США - Доктор
C - Sha - 342576765 - США - Доктор
D - Джи - 535346457 - США - Деловой человек
...... Вот так
Я отображаю имя FirstName в UITableView с помощью UISearchBar. Поиск работает нормально, он фильтрует данные по ключевому слову, которое вы вводите в SearchBar, но предположим, что вы печатаете M, он перечисляет все элементы M, а затем, когда я нажимаю на первый элемент M, он отображает Подробности A, а не M на следующем просмотре.
Я думаю, вы понимаете мою проблему.
Как я могу решить эту проблему, как передать несколько значений в следующем представлении, соответствующем записи .?
Спасибо
Эту функцию я взял из того же кода TableView (пример кода Apple с панелью поиска).
и я изменил это в соответствии с моей логикой.
- (void) searchTableView
{
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
NSInteger TotalNoOfRecords=[self.SearchtableDataSource count];
for (int i=0;i<TotalNoOfRecords;i++)
{ NSDictionary *dictionary = [self.SearchtableDataSource objectAtIndex:i];
NSArray *array = [dictionary objectForKey:@"Title"];
NSString *arrayID= [dictionary objectForKey:@"ID"];
NSLog(@"Testing - Id-%d",arrayID);
[searchArrayID addObject:arrayID];
[searchArray addObject:array];
}
for (NSString *sTemp in searchArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
{
[copyListOfItems addObject:sTemp];
}
}
[searchArray release];
searchArray = nil;
}
Это мой код didSelectRowAtIndexPath. Я знаю, что это нужно изменить, но я не знаю, как?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *dictionary = [self.SearchtableDataSource objectAtIndex:indexPath.row];
FirstName= [dictionary objectForKey:@"FirstName"];
LastName=[dictionary objectForKey:@"LastName"];
DetailViewController *ivc = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
ivc.FirstName = FirstName;
ivc.LastName=LastName;
ivc.Title=[dictionary objectForKey:@"Details of Person"];
[self.navigationController pushViewController:ivc animated:YES];
[ivc release];
}
Пожалуйста, помогите мне ...
Спасибо