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

Swift

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

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

26.05.2016, 07:30. Просмотров 512. Ответов 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 в результате поиска по таблице?
Посмотрите здесь:
Swift Изменить cell.accessorytype тип на тип Switch (с кнопкой Switch)
Почему не работает: n = ComboBox5.ListIndex 'TextBox1.Value = Selection.cell(n + 4, 12) ' VBA
JavaFX Как определить Cell в таблице по Event-у в таблице?
Переадресация поиска гугл на мейл.ру и открытие рекламы после каждого клика
Delphi почему событие buttonclic происходит после второго клика?
Теория. Почему в данном случае copy() не работает после reserve(), но работает после resize()? C++
Почему программа поиска простых чисел работает только до 61? C++
PHP Реализация поиска по сайту - переход по станицам с сохранением запроса поиска
PHP БД MySQL Не работает WHERE :cell = :val
пытаюсь создать переход на сайт в результате выдается ошибка Delphi
Turbo Pascal алгоритм поиска в линейной неупорядоченной таблице и в древовидной таблице.
Delphi БД MS SQL Ошибка в результате поиска в dbgrid

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
01.06.2016, 19:04     Почему не работает переход после клика по cell в результате поиска по таблице? #2
Так а в каком месте падает, на какой конкретно строке?
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 45
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 в результате поиска по таблице?
Ответ Создать тему
Опции темы

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