gpt4 book ai didi

ios - 条件中对 "<"的模糊引用 | swift

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

我想创建一个条件,根据 JSON 数据的结果呈现另一个 View Controller :

JSON 结构如下所示:

struct TheStructure: Codable {
var NUM1, NUM2: String

enum CodingKeys: String, CodingKey {
case NUM1 = "Number1"
case NUM2 = "Number2"
}
}

问题是 API 提供信息输出 NUM1 和 NUM2 作为字符串,而不是 1,它执行“1”。这迫使我将两个值解码为字符串并导致下面的条件不起作用。如何解决这个问题?

我得到的错误是:

Ambiguous reference to operator function '<'

投资组合的值如下let structureVariable: TheStructure

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

if structureVariable.NUM1 < 1 {

let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Del1") as! TableViewController1
let navigationController = UINavigationController(rootViewController: controller)
self.present(navigationController, animated: true, completion: nil)
tableView.deselectRow(at: indexPath, animated: false)

} else {

let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Del2") as! TableViewController2
let navigationController = UINavigationController(rootViewController: controller)
self.present(navigationController, animated: true, completion: nil)
tableView.deselectRow(at: indexPath, animated: false)

}
}

最佳答案

你不能将字符串与 int 进行比较,所以替换

if structureVariable.NUM1 < 1 {

if let res = Int(structureVariable.NUM1) , res < 1 {

或者如果您确定 100% 的值将是 Int,则这样

if Int(structureVariable.NUM1)! < 1 {

更好的逻辑

guard let res = Int(structureVariable.NUM1) else { return } 
if res < 1 {
}
else {
}

关于ios - 条件中对 "<"的模糊引用 | swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58475106/

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