我正在使用XCode在Swift中编写应用程序。它包括UITableView
。只有一个问题 - 在Swift中,我如何判断用户选择了哪个单元格?
澄清:
答案 0 :(得分:4)
假设您有相关单元格的indexPath - 例如,来自任何UITableViewDelegate或UITableViewDataSource方法,
BOOL selected = [tableView.indexPathsForSelectedRows containsObject:indexPath];
答案 1 :(得分:3)
您可以通过在视图控制器中添加以下功能来判断用户选择了哪个单元格。
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
...
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell #\(indexPath.row)!")
}
...
}
所以现在取决于你是否有一个数组来显示每个单元格的文本名称。如果是,您可以使用此indexPath.row来检索所选行用户的文本。
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var tableView : UITableView!
var data:String[] = ["Cell 1","Cell 2","Cell 3","Cell 4"]
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
let cell : UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as UITableViewCell
cell.text = self.data[indexPath.row]
return cell
}
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("SELECTED INDEX /(indexPath.row)")
println("Selected Cell Text /(data[indexPath.row])")
}