заранее спасибо.
Я пытаюсь создать приложение, в котором есть массивы с именами, изображениями и числами. У меня уже есть табличное представление со всеми данными в соответствующих массивах; У меня уже работает панель поиска и отображается правильный поиск. Чего мне не хватает, так это отображения результатов панели поиска в другом контроллере представления. (Я уже работал с табличным представлением: я выбираю имя, и оно открывает другое представление, а затем показывает мне изображение, номер и т. д.) Я просто пропускаю то же самое, но когда я выполняю поиск.
Вот мой код.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *simpleTableIdentifier = @"DreamCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
if (tableView == self.tableView) {
cell.textLabel.text = [Names objectAtIndex:indexPath.row];
cell.imageView.image =[UIImage imageNamed:[Images objectAtIndex:indexPath.row]];
} else{
cell.textLabel.text = [searchResults objectAtIndex:indexPath.row];
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (self.searchDisplayController.isActive) {
[self performSegueWithIdentifier:@"ShowDreamsDetails" sender:self];
}
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
if ([segue.identifier isEqualToString:@"ShowDreamsDetails"]) {
NSString *object =nil;
// NSIndexPath *indexPath =nil;
if (self.searchDisplayController.isActive) {
indexPath =[[self.searchDisplayController searchResultsTableView] indexPathForSelectedRow];
object = [searchResults objectAtIndex:indexPath.row];
/* *Here is where I have the problem, If I leave it like thi,s it only shows the first row in my array; I needed to send the correct name and details to the other View Controller. */
DesciptionViewController *desViewController = segue.destinationViewController;
desViewController.PrincipalName = [Names objectAtIndex:indexPath.row ];
desViewController.PrincipalDescription = [Description objectAtIndex:indexPath.row];
desViewController.PrincipalNumber = [Numeros objectAtIndex:indexPath.row];
desViewController.Images1 = [UIImage imageNamed: [Images objectAtIndex: indexPath.row]];
} else {
DesciptionViewController *desViewController = segue.destinationViewController;
desViewController.PrincipalName = [Names objectAtIndex:indexPath.row];
desViewController.PrincipalDescription = [Description objectAtIndex:indexPath.row];
desViewController.PrincipalNumber = [Numeros objectAtIndex:indexPath.row];
desViewController.Images1 = [UIImage imageNamed: [Images objectAtIndex: indexPath.row]];
}
}
}
Заранее всем спасибо, и извините, если это дублирующийся вопрос; Я попытался поискать вокруг, но ничего не нашел.