Деда
Я бы от Tesla Power Wall домой поставил бы
Artem
Добрая ночь)
Товарищи, подскажите как пришить action по тапу на пустую ячейку
в методе didSelectRowAtIndexPath НЕ работает: if indexPath.row >= self.array.count
Деда
Деда
Пустая ячейка не нарисуется
Деда
if indexPath.row >= self.array.count если бы это отработало, то у тебя был бы crash
Деда
ячеек ровно столько сколько у тебя в массиве
Artem
надо пустую кастомную ячейку делать и добавлять ее?
Деда
Artem
там тоже повалилось-бы все)
Dmitry
> didSelectRowAtIndexPath НЕ работает: if indexPath.row >= self.array.count
охуеть
Деда
- (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
Artem
ну я просто не помню как у меня называлось там сразу написал с ходу
Деда
Деда
обычно помню делали так return retailersArray.count+1
Деда
и после этого ловили так - if indexPath.row == retailersArray.count
Artem
не совсем
там 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
}
}
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
так да, так и сказал выше)
Ivan
Деда
Ты скажи зачем тебе пустая ячейка?
Деда
Открой ночную тайну пустой ячейки
Artem
для того, чтобы на нее экшн повесить
в тз сказано что по тапу на пустую добавляется новая
Dmitry
Человек пишет качественный генератор крэшей. А вы ему все портите.
Artem
ахаха
Деда
ахаха
Наняли тестировать crashlitycs ?
Valery
Artem
пожалуй)
Artem
да)
Artem
и на них экшн навесить нужно
но метод их не видит я так понял
Artem
только gestureRecognizer?
Artem
)
Dmitry
навесишь, поищи в гугле TableViewCellGhost
Artem
ок, спасибо)
Artem
Деда
Он сначала правильно думал
Деда
+ 1 сделать, поймать в cellForRowAtIndexPath и добавить обычную ячейку в - if indexPath.row == retailersArray.count
Artem
мне кажется, добавить recognizer на tableView и если он не равен ячейке то экшн уже, ну функция в смысле