通过查看标题,您几乎可以意识到我的问题是什么,我在故事板上有一个表格视图,无论我尝试做什么,当我选择一行时仍然没有任何反应 我试过这段代码:
func tableView (tableView:UITableView , cellForRowAtIndexPath indexPath : NSIndexPath)->UITableViewCell{
var cellIdentifier = "Cell"
var cell :UITableViewCell
cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell
var st = indexPath
if (cell == nil){
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellIdentifier)
}
var word:NSString
word=message[indexPath.row] as NSString
if word.containsString("You just sent a message"){
cell.textLabel.text = word.componentsSeparatedByString("\n")[1].componentsSeparatedByString(":")[6] as NSString}
if word.containsString("Users"){
var smth = word.componentsSeparatedByString(":")
var word = ""
for i in (1..<smth.count){
var hey = smth[i] as NSString
var elst = ""
elst += hey as NSString
word += elst + " "
}
cell.textLabel.text = word
}
else
{
cell.textLabel.text = word
}
return cell
}
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell #\(indexPath.row)!")
}
func tableView(tableView:UITableView ,numberOfRowsInSection section :NSInteger)->Int{
return message.count
}
在对此进行护目镜后,我发现didSelectRowAtIndexPath函数是负责人,但在实现之后仍未发生任何事情
正如你所看到的那样,主要的功能可以解决问题,它确实会在每个单元格中添加一些内容[正确的事情]
任何想法为什么会这样?
答案 0 :(得分:4)
您是否将表格视图的委托设置为此快速类? tableview是在IB中的哪个位置,或者是用代码创建的?如果在代码中您需要手动设置委托,如果在IB中,则可以拖放以设置委托。
如果设置表视图并通过代码初始化,请执行此操作,
import UIKit
class ViewController: UIViewController,UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
var tableView:UITableView = UITableView()
tableView.delegate = self;
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
注意:如果没有像UIViewController旁边那样指定UITableViewDelegate,我收到了一个错误,但同样会产生一个带有Objective C的警告。