У меня есть следующая проблема:NSIndexPath начинается с 1
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// ...
println(indexPath.row)
}
Мой выход выглядит следующим образом:
1
0
1
0
numberOfRowsInSection говорит мне, что у меня есть пунктов:
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if (self.actionDto != nil){
println(self.actionDto?.count)
return self.actionDto!.count
}
return 0
}
Я проверил это indexpath.row is starting from 1 instead of 0? но не может действительно следовать за ответом или решить мою проблему.
На самом деле, я просто хочу нажать метку в ячейке и сделать что-то еще. Но я должен точно знать, в какой строке он был.
Я думал об использовании сделалSelectRowAtIndexPath способ. Тогда у меня проблема: если я нажимаю на метку, метод didSelectRowAtIndexPath не вызывается. (Я думаю, что из-за более чем одного наблюдателя на этом лейбле -.> У меня есть метод делегата на этой камере, а другой я полагаю это TableView.)
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let indexPath = tableView.indexPathForSelectedRow()
let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as! TimelineCell
println("The number of cell is \(currentCell.numberOfRowAtIndexPath)")
}
Если я нажимаю в клетку, но не на этикетках или изображения все работает нормально, и я получаю правильное количество строк. Возможно, кто-то знает, как я могу добавить более одного «наблюдателя» на ярлык, например. Так что мои Selectormethod и didSelectRowAtIndexPath знали о метке, постученной в ячейке. Я думаю, что это может решить мою проблему, что я могу сделать свой собственный Selectormethod со знанием правой строки.
Для людей, которые хотят знать, что я имею в виду с Selectormethod:
let gestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("labelPressed")) <-
label.addGestureRecognizer(gestureRecognizer)
func labelPressed() {
delegate?.switchToOwnProfil!()
}
Таинственное Дело в том, что первый вывод показывает мне сначала 1, а не 0, но, возможно, я что-то упускается из виду.
Заранее благодарен!
вы можете просто помечать ярлык с indexpath.row в cellForAtIndexPath –
и после этого в методе получить тег этикетки, то вы получите ряд Tableview –
Может показать небольшой фрагмент кода меток «tagging»? –