【问题标题】:Deprecating renamed method with multiple arguments弃用具有多个参数的重命名方法
【发布时间】:2016-12-13 08:03:49
【问题描述】:

我想为 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 image(url: String, placeholderNamed: String) {

所以我弃用了旧方法:

@available(*, deprecated: 1.8, renamed: "image(url:, placeholder:")

问题是我收到以下错误:

'available' 属性的'renamed' 参数必须是运算符、标识符或完整的函数名,可选地以类型名作为前缀

【问题讨论】:

    标签: ios swift swift3 deprecated


    【解决方案1】:

    我被具有与所述renamed:部分的问题。为了解决这个问题,只是改变它 P>

    @available(*, deprecated: 1.8, renamed: "image(url:placeholder:)")
    

    【讨论】:

    • 这不是在该文档完全清楚(或至少不表观的),但对于renamed给出的字符串文字参数的结构如下相当严格的规则;在上面使用的“全功能名”的情况下 i>的(其伊莫的可以 i>的可以更清楚地在文档中指定)。在这里你的回答修复的说法,所以它现在确实遵循规则什么的“完整的函数名” i>的是(用逗号没有分离)。 SPAN>
    • 它仍然没有,除非参数从尽管名称恰好对准移动分开的参数。可惜。跨度>
    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多