Swift,使用字符串名称引用变量

计划使用字符串值来引用我要更新的变量。组合来自几个不同用户选择来源的字符串。有很多使用if / case语句的可能性。提前致谢

var d1000: Int = 0

// ...

var d1289: Int = 0

// ...

var d1999: Int = 0

var deviceIDtype: Character = "d" // button press assigns some value, d used for example

var deviceIDsection: String = "12" // button press assigns some value, 12 used for example

var deviceID: String = "89" // button press assigns some value, 89 used for example

var ref:String = ""

func devName(dIDt:Character, dIDs: String, dID: String) -> String {

var combine: String = String(dIDt) + (dIDs) + (dID)

return (combine)

}

ref = devName(deviceIDtype, dIDs: deviceIDsection, dID: deviceID) // ref equals d1289 in this example

// d1289 = 1234 // trying to set this using the ref variable value, failed attempts below

/(ref) = 1234 // set d1289 variable to equal "1234"

"/(ref)" = 1234 // set d1289 variable to equal "1234"

get(ref) = 1234 // set d1289 variable to equal "1234"

get.ref = 1234 // set d1289 variable to equal "1234"

回答:

如何使用字典[String : Int]

这将使您实现所需的功能-存储不同键的值。

例如,代替使用

var d1000 = 0

var d1289 = 0

var d1999 = 0

你可以用

var dictionary: [String : Int] = [

"d1000" : 0,

"d1289" : 0,

"d1999" : 0

]

要将值存储在字典中,只需使用

dictionary[key] = value

//for example, setting "d1289" to 1234

dictionary["d1289"] = 1234

并从字典中获取值,请使用

let value = dictionary[key]

//for example, getting the value of "d1289"

let value = dictionary["d1289"]

所以,你可以使用这样的东西

//initialize your dictionary

var myDictionary: [String : Int] = [:]

//your key initialization data

var deviceIDtype: Character = "d"

var deviceIDsection: String = "12"

var deviceID: String = "89"

var ref: String = ""

//your code

func devName(/*...*/){/*...*/}

ref = devName(/*...*/)

//set the key ref (fetched from devName) to 1234

myDictionary[ref] = 1234

顺便提一句,您可以真正清理一些代码

func devName(type: Character, section: String, id: String) -> String{      

return String(type) + section + id

}

//...

let key = devName(deviceIDtype, section: deviceIDsection, id: deviceID)

let value = 1234

myDictionary[key] = value

以上是 Swift,使用字符串名称引用变量 的全部内容, 来源链接: utcz.com/qa/407360.html

回到顶部