2016-12-13 14 views
1

我想更新下列方法的斯威夫特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:") 

问题是我收到以下错误:

'renamed' argument of 'available' attribute must be an operator, identifier, or full function name, optionally prexied by a type name

回答

2

我遇到了renamed:部件的问题。为了解决这个问题,只是它更改为

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

这不是在该文档完全清楚(或至少不表观的),但对于'renamed'给定字符串文字参数的结构如下相当严格的规则;在上述情况下使用_“全功能名称_”(在文档中可以更清楚地指定imo,_)。你的答案在这里修正了参数,所以它现在确实遵循一个_“完整函数名称_”的规则(不能用逗号分隔)。 – dfri

相关问题