【发布时间】:2015-12-21 20:50:57
【问题描述】:
当尝试将String 变量传递给新的ViewController 时,只发送了一个变量。我不确定这里发生了什么,因为当我打印object["eventDescription"] 时,控制台确实会打印描述。只有 eventName 被传递给新的视图控制器。
发送视图控制器
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "detailSegue") {
if let destination = segue.destinationViewController as? EventDetailViewController {
if let eventIndex = self.tableView.indexPathForCell(sender as! FeedCustomCell) {
var object = self.eventsArray[eventIndex.row]
destination.nameText = object["eventName"] as! String
destination.descriptionText = object["eventDescription"] as! String
print(object["eventDescription"])
目标视图控制器(EventDetailViewController):
class EventDetailViewController: UIViewController {
@IBOutlet weak var eventName: UILabel!
@IBOutlet weak var descLabel: UILabel!
var descriptionText = String()
var nameText = String()
override func viewDidLoad() {
super.viewDidLoad()
self.eventName.text = nameText
self.descLabel.text = descriptionText
}
}
【问题讨论】:
-
你怎么会通过编译器?您传递的那些属性不匹配。
-
我编辑了它,对那个卢卡斯感到抱歉。
-
那么,你应该可以走了。那就删帖吧。
-
在一个现已删除的答案中,您揭示了有关问题所在的更多信息。如果您不提供问题的完整描述,您希望我们如何帮助您?请编辑您的问题以描述您的应用正在做什么但不能满足您的需求。将信息传递到目的地是静默失败,还是其他原因?
-
@LucasHuang 不幸的是我不适合去。
标签: ios swift uitableview uiviewcontroller segue