我有一个显示用户想发布内容的帖子的提要。我想要做的是显示在某个按钮(正在工作)中发布内容的用户的名称。然后,当用户按下该按钮时,它应该显示另一个视图控制器,用户按下的按钮名称(即半工作)。点击个人档案 - swift
现在发生的情况是,当用户从帖子中按下另一个用户的名字时,其他视图控制器中显示的名称并不总是与用户按下的名称相同。
我希望你明白:-)
让我带你通过我的代码:
第一的viewController viewDidLoad中之前,我创建一个字符串:
var sendName = "No name recieved"
再往下该页面是这样的代码:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:updateTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! updateTableViewCell
let update = updates[indexPath.row]
cell.nameButton.setTitle(update.addedByUser, forState: .Normal)
sendName = (cell.nameButton.titleLabel?.text)!
}
我prepareForSegue:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "showProfileFromFeed") {
let yourNextViewController = (segue.destinationViewController as! profileTableViewController)
yourNextViewController.viaSegue = sendName
}
}
按钮标题被改为它应该在饲料中,但必须与sendName一些错误的,因为它并不总是显示在其他的viewController作为同名按钮名称说..
希望您能理解,否则请让我知道:-)
我相信这也是问题,我添加了一个print()函数 - 这也是我发现的..我只是不知道如何正确地做到这一点,所以我要按的名称是一个正在发送到下一个viewController? –
我猜如果你是以编程方式创建按钮,那么你将不得不添加一个目标到按钮,该按钮链接到您创建的自定义函数。然后函数可以定义'sendName'变量,然后启动segue。你可能不得不在SO上查找一些这样的东西来真正实现你的目标,但希望这可以让你知道该怎么做。 –