gpt4 book ai didi

ios - 如何在满足 IF 后立即生成新的 View Controller ?

转载 作者:行者123 更新时间:2023-11-28 08:05:51 24 4
gpt4 key购买 nike

我正在为我的应用创建条形码阅读器。我确定了这一点,但如果它对它读取的条形码没有任何意义,那它就没用了。我接下来要做的是在函数捕获代码后立即启动一个新的 View Controller 。

问题是:一旦这个 IF 得到满足,我如何才能生成一个新的 View Controller ?

if metadataObj.stringValue != nil 
{
messageLabel.text = metadataObj.stringValue
}

这是打印(在用户面前)条形码数字形式的 if(因此当用户将相机对准条形码时,会显示 4058394759)。接下来,我希望应用程序移动到一个新的 View Controller ,其中打印该数值并创建一个将生成谷歌搜索的按钮。

问题是,我只使用 Interface Builder 连接了 View Controller 。我如何通过代码进行这种转换?

最佳答案

您应该检查评论中提供的链接,以便了解其工作原理。有很多方法可以做到这一点,我将只展示一种(使用和不使用特殊的初始化器):

if metadataObj.stringValue != nil 
{
messageLabel.text = metadataObj.stringValue
let vc = yourViewController(initValue: metadataObj.stringValue!)
self.navigationController?.push(vc, animated: true)
}

您也可以呈现,而不是推送您的 viewController。您也可以在不使用导航 Controller 的情况下执行此操作。这些选项中的每一个都有其后果,这就是为什么我们敦促您检查链接以了解您的选项的原因。

我假设你的 View Controller 有一个专门编写的 init 来初始化你需要的数据。如果不是这种情况,那么只需在呈现/推送之前将值分配给您在目标 View Controller 中定义的属性:

if metadataObj.stringValue != nil 
{
messageLabel.text = metadataObj.stringValue
let vc = yourViewController()
vc.somePropertyYouDefined = metadataObj.stringValue!
self.navigationController?.push(vc, animated: true)
}

关于ios - 如何在满足 IF 后立即生成新的 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45129180/

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