gpt4 book ai didi

ios - 如何通过 Swift 中的两个不同类调用类中的同一个变量?

转载 作者:行者123 更新时间:2023-11-28 07:12:30 25 4
gpt4 key购买 nike

我是 Swift 的新手。我在 CouchBase.swift 中保存了一些变量和函数,并且有两个 swift 将调用 CouchBase.swift 中的函数和变量。

ViewController.swiftCouchBase.swift 中设置uuid 并更改为DeviceInfo.swift。但是当我在 DeviceInfo.swift 中调用 getuuid 时,它返回空值;

CouchBase.swift

class Couchbase {

ar userPassword = "";
var userUUID = "";

func setuuid(uuid: String){

self.userUUID = uuid
}
func getUserUUID() -> NSString{
return userUUID;
}
}

ViewController.swift

var cbase = Couchbase()

cbase.setuuid("aaa")
self.performSegueWithIdentifier("DeviceInfo", sender: self) //change to DeviceInfo.swift

DeviceInfo.swift

import Foundation
class Deviceinfo: ViewController {
override func viewDidLoad() {
println("cbase.getUserUUID() = \(cbase.getUserUUID())")
}
}

日志显示 cbase.getUserUUID() = ,如何在两个不同的 swift 类中使用相同的变量?

为什么在 DeviceInfo.swift 中调用 cbase.getUserUUID() 时值为空?

最佳答案

您需要将 ViewController 类的 cbase 属性传递给 Deviceinfo 类。

为此,您可以使用prepareForSegue 方法,在第一个 View Controller 类中实现以下方法:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!)
{
let destinationVC = segue.destinationViewController as Deviceinfo
destinationVC.cbase = self.cbase
}

注意:假设 cbase 也是 Deviceinfo 类中的公共(public)属性。

关于ios - 如何通过 Swift 中的两个不同类调用类中的同一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27857327/

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