gpt4 book ai didi

swift - 在 Swift 中将 switch 转换为 if else

转载 作者:搜寻专家 更新时间:2023-11-01 06:14:56 31 4
gpt4 key购买 nike

我想将 SwiftyJSON 的所有 switch 语句转换为 if-else 条件,因为 switch 语句会导致大量内存泄漏。

我几乎已经转换了所有的 switch 语句,但我还是坚持了这一点:

fileprivate subscript(sub sub: JSONSubscriptType) -> JSON {
...
switch sub.jsonKey {
case .index(let index): return self[index: index]
case .key(let key): return self[key: key]
}
...
}

public enum JSONKey {
case index(Int)
case key(String)
}

有人可以帮帮我吗?

最佳答案

switch sub.jsonKey {
case .index(let index): return self[index: index]
case .key(let key): return self[key: key]
}

会是

if case .index(let index) = sub.jsonKey {
return self[index: index]
} else if case .key(let key) = sub.jsonKey {
return self[key: key]
}

或抽象:

switch value {
case .a(let x): doFoo(x)
case .b(let y): doBar(y)
}

成为

if case .a(let x) = value {
doFoo(x)
} else if case .b(let y) = value {
doBar(y)
}

关于swift - 在 Swift 中将 switch 转换为 if else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47394918/

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