Как узнать, есть ли у uitableview выделенная ячейка
Я разрабатываю приложение, и в какой-то момент у меня есть несколько uitableview. Я хочу знать за пределами методов делегата, например, действие, если у табличных представлений есть выделенная ячейка и какая ячейка.
Я пытался использовать: (NSIndexPath *)indexPathForSelectedRow
но это не работает, потому что, если у меня нет выделенной ячейки [(NSIndexPath *) row]
возвращает "0", а не ноль
не могли бы вы помочь?
Спасибо..
1 ответ
Ваш метод правильный - indexPathForSelectedRow действительно возвращает nil, если ячейка не выбрана. Но если вы попытаетесь отправить сообщение объекту nil и использовать возвращаемое значение, оно будет равно 0, поэтому вам нужно проверить, равняется ли значение пути нулю или нет, прежде чем пытаться получить из него строку ячейки:
NSIndexPath *path = [table indexPathForSelectedRow];
if (path){
row = [path row];
...
}
else{
// No cell selected
}
PS ноль это просто типизированный 0, так что на практике это одно и то же.