ios - 类属性未在 swift 中设置

标签 ios swift xcode6

我正在从 ViewController 将值存储在 SimpleClass 中,并且我正在进入 Secondview 类。但是我无法从 SecondClass 的 SimpleClass 中获取值。帮我 谢谢

Demo Project

最佳答案

它不起作用的原因是因为在 SecondClass 中您正在创建 SimpleClass 的新实例。

您真正想要做的是将 SimpleClass 实例从 ViewController 传递到 SecondClass

一种方法是在“ViewController”中使用 prepareForSegue 方法

ViewController.swift 上:

import UIKit

class ViewController: UIViewController {

    var simObject:SimpleClass?

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "First Class";

        simObject = SimpleClass()
        simObject!.userName = "damu";
        simObject!.userPassword = "123";
        simObject!.address = "344r";

        print(simObject!.address)
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // pass the simObject to secondClass
        if let secondClass = segue.destinationViewController as? SecondClass {
            secondClass.simpleClass = simObject
        }
    }

}

关于 SeconClass.swift

import UIKit

class SecondClass: UIViewController {

    var simpleClass:SimpleClass?

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "Second Class";

        if let passedSimpleClass = self.simpleClass {
            println(passedSimpleClass.address)
        }
    }

}

关于ios - 类属性未在 swift 中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30908588/

相关文章:

Swift:继承项目内的类

swift - 如何在Apple Watch运行时制作基于动态页面的应用程序

ios - 根据 subview 的内容大小调整 ScrollView

ios - Swift - 在不嵌入导航 Controller 的情况下从左到右的 Segue 过渡

ios - setVisibleCooperativeBounds 从未设置确切的边界

ios取消dispatch_async任务

ios - WKWebview运行JavaScript

xcode - Swift + 解析注销错误

ios - 如何只获得一个NSUUID?

ios - 将包含 3 个字节 ASCII 字符的 NSString 编码为正确的 NSString