下面是我的一个同事写的快速代码。
我不知道斯威夫特。
我一直在xcode中运行'Product‘-> 'Archive’,这样我就可以发布到应用商店了。
下面的代码已经存在很长一段时间了,我没有修改它,但我现在收到错误消息“协议'Numeric‘只能用作泛型约束,因为它有自身或关联的类型要求”。
有人知道问题出在哪里吗?...and你能解释一下吗?
任何帮助都是非常感谢的。
import Foundation
func MyCallback(_ id: String, _ with: Any?) -> String{
return "My.callback('\(id)', \(with != nil ? with is Numeric ? with! : "'\(with!)'" : "void 0"));"
}
发布于 2020-05-20 03:40:49
这段代码看起来真的很糟糕。这不是在Swift中展开optionals的方式。无论如何,如果with
是Numeric
类型或String
,您可以简单地尝试将其转换为String
,而不是检查它是否为Numeric
。
func MyCallback(_ id: String, _ with: Any?) -> String {
if let string = with as? String {
return "My.callback('\(id)', '\(string)');"
} else if let with = with {
return "My.callback('\(id)', \(with));"
}
return "My.callback('\(id)', void 0);"
}
请注意,Swift的命名约定是以小写字母func myCallback
开头命名您的方法。
https://stackoverflow.com/questions/61902550
复制相似问题