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

Swift

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

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

26.05.2016, 07:30. Просмотров 536. Ответов 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]
            }
        }
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2016, 07:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему не работает переход после клика по cell в результате поиска по таблице? (Swift):

Почему не работает: n = ComboBox5.ListIndex 'TextBox1.Value = Selection.cell(n + 4, 12) ' - VBA
Hi! Помогите! Срочно! Я еще в форуме! Почему не работает? Private Sub ComboBox5_Change() n = ComboBox5.ListIndex ...

Как определить Cell в таблице по Event-у в таблице? - Java
Как определить Cell в таблице по Event-у в таблице? Мне надо обработать драг одного из компонентов в таблицу. Не могу понять, как мне...

Переадресация поиска гугл на мейл.ру и открытие рекламы после каждого клика - Удаление вирусов
Добрый день, У меня такая проблема, при открытии новой вкладки и практически после каждого клика открывается вкладка с рекламой, и поиск...

почему событие buttonclic происходит после второго клика? - Delphi
почему событие buttonclic происходит после второго клика? т.е. при нажатии на кнопку в memo должна выводится информация, но memo...

Теория. Почему в данном случае copy() не работает после reserve(), но работает после resize()? - C++
Есть такая функция: void Array::SetStartIndexes(sz3_Arr_t *array) { start_index.reserve(array->size()); ...

Почему программа поиска простых чисел работает только до 61? - C++
Добрый день, Помогите, пожалуйста, разобраться. Программа для поиска простых чисел. На экран отображает только простые числа до 61, ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
01.06.2016, 19:04 #2
Так а в каком месте падает, на какой конкретно строке?
0
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 45
01.06.2016, 19:35  [ТС] #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()
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2016, 19:35
Привет! Вот еще темы с ответами:

Реализация поиска по сайту - переход по станицам с сохранением запроса поиска - PHP
Всем известно что все запросы пользователя в данном случае хранятся в _GET массиве. Проблема такова что когда пользователь ввел какие-то...

MySQL Не работает WHERE :cell = :val - PHP БД
Почему ошибка или как правильно??? public function findBy($cell, $val) { $db = Service::get('db'); //pdo ...

пытаюсь создать переход на сайт в результате выдается ошибка - Delphi
пытаюсь создать переход на сайт в результате выдается ошибка в первой строке как это исчправить код взят из книги ...

алгоритм поиска в линейной неупорядоченной таблице и в древовидной таблице. - Turbo Pascal
У меня несколько вопросов, помогите идеями и ответами желательно с каждым, так как у меня уже ступор относительно этого. Я должен...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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