ios - View Controller 中的依赖注入(inject)

标签 ios swift dependency-injection

有人可以解释一下 View Controller 中的依赖注入(inject),我们如何摆脱可选值?我已经阅读了很多关于它的文章,但不太清楚。将数据从一个 VC 传递到另一个 VC 是一种好方法吗?

class SecondVC: UIViewController {
    var number: [String]?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.printNumbers()
    }

    func printNumbers() {
        guard let number = self.number else { return }

        print(number)
    }
}

//+++++++ In First View Controller +++++++++++++++++

@IBAction func pushToSecondVC(_ sender: UIButton) {
    let secondViewController = self.storyboard.instantiateViewControllerWithIdentifier("SecondVC") as SecondVC
    secondViewController.number = self.numbers
    self.navigationController.pushViewController(secondViewController, animated: true)
}

最佳答案

在您的示例中,如果您只是想摆脱可选值,请将 var number: [String]? 替换为 var number = [String]()。这将创建一个空数组。

当您必须访问此属性时,您不再需要解包它。

关于ios - View Controller 中的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52259854/

相关文章:

ios - 新创建的测试用例类未显示在Xcode的“测试导航器”下

ios - 一个部分中有两个原型(prototype)电池

swift - 为什么我可以在 Swift 中更改 const 数组的成员?

asp.net - 依赖注入(inject) : injecting user control in aspx page

.net - 对具有多个依赖项的 WCF 服务进行单元测试

ios - 弹出一个具有异步任务的 viewController,它会在 iOS 任务完成之前销毁吗?

ios - UIView 的变形\弯曲效果?

ios - 图像缩放,低分辨率

regex - 检索两个特殊字符之间的字符串

design-patterns - 控制反转和依赖注入(inject)