Ios 使用多个参数弃用重命名的方法
我想为Swift 3更新以下方法的命名:Ios 使用多个参数弃用重命名的方法,ios,swift,swift3,deprecated,Ios,Swift,Swift3,Deprecated,我想为Swift 3更新以下方法的命名: public func imageWithUrl(url: String, placeholderNamed: String) { if let image = UIImage(named: placeholderNamed) { imageWithUrl(url: url, placeholder: image) } else { imageWithUrl(url: url) } } 到 因此,
public func imageWithUrl(url: String, placeholderNamed: String) {
if let image = UIImage(named: placeholderNamed) {
imageWithUrl(url: url, placeholder: image)
} else {
imageWithUrl(url: url)
}
}
到
因此,我不推荐使用以下旧方法:
@available(*, deprecated: 1.8, renamed: "image(url:, placeholder:")
问题是我遇到了以下错误:
“available”属性的“renamed”参数必须是运算符、标识符或完整函数名,可以选择使用类型名作为前缀
我对
重命名:
部分有问题。为了解决这个问题,只需将其更改为
@available(*, deprecated: 1.8, renamed: "image(url:placeholder:)")
这在文档中并不完全清楚(或者至少不明显),但为
重命名的提供的字符串文字参数的构造遵循相当严格的规则;在上述情况下,使用“完整函数名”(imo可以在文档中更明确地指定)。您在这里的回答修复了参数,因此它现在确实遵循了“完整函数名”的规则(没有逗号分隔)。除非参数与名称完全分开对齐,否则它仍然不会移动参数。可怜。
@available(*, deprecated: 1.8, renamed: "image(url:placeholder:)")