Форум программистов, компьютерный форум CyberForum.ru

Swift

Войти
Регистрация
Восстановить пароль
 
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 44
#1

Почему не работает переход после клика по cell в результате поиска по таблице? - Swift

26.05.2016, 07:30. Просмотров 496. Ответов 2

Настроил поиск по tableView. все работает, таблица сортируется по результату ввода, но при клике на ячейку приложение падает (fatal error: unexpectedly found nil while unwrapping an Optional value). Без searchBar все кликается, все работает. Как быть? Есть предположение, что виновен imageView, т.к. сортирую таблицу я только по String массиву имен.
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
func updateSearchResultsForSearchController(searchController: UISearchController) {
        self.filteredRal = self.ralNames.filter { (ral: String) -> Bool in
            if ral.lowercaseString.containsString(self.searchController.searchBar.text!.lowercaseString) {
                return true
            } else {
                return false
            }
        }
        
        self.resultsController.tableView.reloadData()
    }
 
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if tableView == self.tableView {
            return self.ralNames.count
        } else {
            return self.filteredRal.count
        }
 
    }
    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        let cellIdentifier = "Cell"
        
        let cell = self.tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! MainTableViewCell
 
        // Configure the cell...
        
        if tableView == self.tableView {
            cell.titleLabel?.text = self.ralNames[indexPath.row]
        } else {
            cell.titleLabel?.text = self.filteredRal[indexPath.row]
        }
        
        cell.cellImage?.image = UIImage(named: ralImages[indexPath.row])
 
        return cell
    }
    
    override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return UITableViewAutomaticDimension
    }
 
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "showDetailsSegue" {
            if let indexPath = self.tableView.indexPathForSelectedRow {
                let destinationVC = segue.destinationViewController as! DetailsViewController
                destinationVC.ralImage = self.ralImages[indexPath.row]
                destinationVC.ralName = self.ralNames[indexPath.row]
            }
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2016, 07:30     Почему не работает переход после клика по cell в результате поиска по таблице?
Посмотрите здесь:

Delphi почему событие buttonclic происходит после второго клика?
Почему не работает: n = ComboBox5.ListIndex 'TextBox1.Value = Selection.cell(n + 4, 12) ' VBA
JavaFX Как определить Cell в таблице по Event-у в таблице?
Переадресация поиска гугл на мейл.ру и открытие рекламы после каждого клика
Swift Переход в браузер
Клик по кастом-строке таблицы - переход, не пойму как сделать наличие кнопки back Swift
Swift Изменить cell.accessorytype тип на тип Switch (с кнопкой Switch)
Swift Swift почему else if не находит условие
Рандомный переход между окнами Swift
Ручной переход segue Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
01.06.2016, 19:04     Почему не работает переход после клика по cell в результате поиска по таблице? #2
Так а в каком месте падает, на какой конкретно строке?
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 44
01.06.2016, 19:35  [ТС]     Почему не работает переход после клика по cell в результате поиска по таблице? #3
Проблема была в том, что в поиске я сортировал только один массив с текстом, а передавал вместе с ним еще и массив с изображениями. Решил проблему объединением массивов и корректировкой метода updateSearchResultsForSearchController
Objective-C
1
2
3
4
5
6
7
let ral: [(name: String, image: String)] = [("test1", "1.png"), ("test2", "2.png"), ("test3", "3.png")]
var filteredRal: [(name: String, image: String)] = []
 
func updateSearchResultsForSearchController(searchController: UISearchController) {
    filteredRal = ral.filter({ $0.name.lowercaseString.containsString(searchController.searchBar.text!.lowercaseString) })
    resultsController.tableView.reloadData()
}
Yandex
Объявления
01.06.2016, 19:35     Почему не работает переход после клика по cell в результате поиска по таблице?
Ответ Создать тему
Опции темы

Текущее время: 11:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru