gpt4 book ai didi

ios - 将数据从 Swift View Controller 传递到 Objective-C View Controller

转载 作者:行者123 更新时间:2023-11-30 13:07:17 24 4
gpt4 key购买 nike

我尝试使用以下代码将数据从 Swift View Controller (viewControllerA) 传递到 Objective-C View Controller (viewControllerB):

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "ViewControllerB") {

var navController : UINavigationController! = UINavigationController()

navController = segue.destinationViewController as! UINavigationController

let viewControllerB : ViewControllerB! = ViewControllerB()

viewControllerB.navigationController?.topViewController

// Not sure how to alloc init code in an Objective-C Class in Swift file

viewControllerB.dictionaryB = [NSObject : AnyObject]()
viewControllerB.arrayB = [AnyObject]()

viewControllerB.dictionaryB = self.dictionaryA
viewControllerB.arrayB = self.arrayB

}
}

调用prepareForSegue后,我的属性(dictionaryB 和 arrayB)变为空。我该如何解决这个问题?

最佳答案

您获取目标 VC navController,但随后不对其执行任何操作。

然后,代码创建一个 ViewControllerB,为其分配字典和数组,但随后对 viewControllerB 不执行任何操作,因此它将在此方法结束时简单地释放(从我可以从发布的代码中看出)。

还有一行 viewControllerB.navigationController?.topViewController 似乎什么也没做。

我猜你希望做这样的事情:

viewControllerB.navigationController?.topViewController = viewControllerB

但这不会编译;你实际上需要:

navController.viewControllers = [viewControllerB].

关于ios - 将数据从 Swift View Controller 传递到 Objective-C View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com