Деда
Я бы от Tesla Power Wall домой поставил бы
Artem
Добрая ночь) Товарищи, подскажите как пришить action по тапу на пустую ячейку в методе didSelectRowAtIndexPath НЕ работает: if indexPath.row >= self.array.count
Деда
Пустая ячейка не нарисуется
Деда
if indexPath.row >= self.array.count если бы это отработало, то у тебя был бы crash
Деда
ячеек ровно столько сколько у тебя в массиве
Artem
надо пустую кастомную ячейку делать и добавлять ее?
Valery
ячеек ровно столько сколько у тебя в массиве
Так может он в количество ячеек передаёт count + n
Artem
там тоже повалилось-бы все)
Dmitry
> didSelectRowAtIndexPath НЕ работает: if indexPath.row >= self.array.count охуеть
Valery
там тоже повалилось-бы все)
Если правильно сделать вывод, то нет
Деда
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Деда
что у тебя тут?
Artem
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if tableView == orderTable { return 1 } if tableView == retailerTable { return retailersArray.count } return 1 }
Artem
ну получается что будет retailers.count +1 например
Деда
if indexPath.row >= self.array.count не сработает
Деда
а вообще причем тут self.array или retailersArray ?
Valery
ну получается что будет retailers.count +1 например
Каким образом?) return не складывается
Artem
ну я просто не помню как у меня называлось там сразу написал с ходу
Деда
Деда
обычно помню делали так return retailersArray.count+1
Деда
и после этого ловили так - if indexPath.row == retailersArray.count
Artem
не совсем там 2 таблицы он в любом случае требует int возвращать по факту это if {} else {} своеобразный
Деда
не совсем там 2 таблицы он в любом случае требует int возвращать по факту это if {} else {} своеобразный
Тут ты сказал у меня или одна ячейка или ровно столько сколько в массиве
Деда
Ну if то я не разучился читать, хоть и на мерзопакостном синтаксе
Artem
orderTable одна таблица, retailerTable другая иначе у меня бы все повалилось опять-же
Деда
Кручу, верчу, Серегу запутать хочу
Деда
😀
Artem
можно if tableView == orderTable { return 1 } if tableView == retailerTable { return retailersArray.count + 1 } else {return 1}
Artem
для чистоты кода
Artem
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if tableView == orderTable { return 1 } if tableView == retailerTable { return retailersArray.count + 1 } else { return 1 } }
Деда
Тут ты сказал у меня или одна ячейка или ровно столько сколько в массиве
Я тебе говорю о том что в return тебе вернется или одна ячейка или колличество элементов в массиве, ну
Artem
это swift, тут вообще пиши как хочешь)
Деда
но не понял ты меня )
Деда
ладно
Деда
зачем тебе пустая ячейка?
Ivan
можно if tableView == retailerTable { return retailersArray.count + 1 } return 1
Ivan
Вот же
Деда
после этого нужно будет retailerTable поймать и обработать иначе упадет
Dmitry
return tableView == retailerTable ? retailersArray.count + 1 : 1;
Artem
так мы так и написали)
Деда
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Artem
тут вообще не понял на надо Int вернуть а мы говорим вернуть UITableView и если она равна retailerTable...
Artem
return tableView == retailerTable ? retailersArray.count + 1 : 1;
Artem
return tableView == retailerTable ? retailersArray.count + 1 : 1;
Деда
return (если) tableView == retailerTable ? (то) retailersArray.count + 1 : (иначе) 1;
Деда
if () - ? else - :
Ivan
Но если у тебя другая таблица, то в селл фор вью - проверка не пройдёт :)
Ivan
Сделай разные делегаты/датасорсы
Ivan
Ну и дид селект - тоже не пройдёт
Artem
почему?)
Artem
if tableView == retailerTable {} if tableView == orderTable{}
Artem
я тоже так думал если через if else писать то все ломается, а так все норм заводится
Ivan
Ты везде будешь на одно и то же условие проверять?
Artem
ну да)
Artem
у меня все делегаты и дата сорсы на одном контролере и все работает
Ivan
Попахивает свфитом где можно писать все что угодно
Artem
так да, так и сказал выше)
Деда
Ты скажи зачем тебе пустая ячейка?
Деда
Открой ночную тайну пустой ячейки
Artem
для того, чтобы на нее экшн повесить в тз сказано что по тапу на пустую добавляется новая
Dmitry
Человек пишет качественный генератор крэшей. А вы ему все портите.
Artem
ахаха
Деда
ахаха
Наняли тестировать crashlitycs ?
Artem
пожалуй)
Artem
да)
Artem
и на них экшн навесить нужно но метод их не видит я так понял
Artem
только gestureRecognizer?
Artem
)
Dmitry
навесишь, поищи в гугле TableViewCellGhost
Artem
ок, спасибо)
Artem
Деда
Он сначала правильно думал
Деда
+ 1 сделать, поймать в cellForRowAtIndexPath и добавить обычную ячейку в - if indexPath.row == retailersArray.count
Artem
мне кажется, добавить recognizer на tableView и если он не равен ячейке то экшн уже, ну функция в смысле