准备继续不发送所有信息(Swift)

Posted

技术标签:

【中文标题】准备继续不发送所有信息(Swift)【英文标题】:Prepare for segue not sending all of the information (Swift) 【发布时间】: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 不幸的是我不适合去。 【参考方案1】:

很抱歉浪费了大家的时间,但我必须在 EventDetailController 中对 UILabel 的描述进行约束,然后才能看到描述。

【讨论】:

以上是关于准备继续不发送所有信息(Swift)的主要内容,如果未能解决你的问题,请参考以下文章

准备 segue 数组时不包含数据(使用 swift)

Swift 3 - 调用准备 segue 时视图不更新

Http状态码

阻塞IO和非阻塞IO

在 Xcode 8 和 Swift 3.0 中删除覆盖后准备 segue 崩溃

如果 segue.identifier == "showChildFiles" 当 segue 标识符看起来正确时,Swift 3 准备 segue 不通过