Xcode关闭自动完成问题
Posted
技术标签:
【中文标题】Xcode关闭自动完成问题【英文标题】:Xcode closure auto completion issue 【发布时间】:2015-07-20 07:39:40 【问题描述】:以下是使用 Xcode 6.4 针对 ios 8.4 构建的工作代码
NSURLConnection.sendAsynchronousRequest(urlRequest, queue: NSOperationQueue.mainQueue(), completionHandler: response, data, error in
if error != nil
println("there be an error")
else
let image = UIImage(data:data)
self.webimage.image = image
)
如果我在 Xcode 自动完成时双击方法签名的闭包部分,我最终会处于这种状态:
Xcode 没有将)
放在闭包的末尾,还添加了-> Void in
。
这是 Xcode 6.4 中的一个错误,还是有两种替代的闭包语法?
我什么时候需要completionHandler : arg, arg arg in
和completionHandler : (arg,arg,arg) -> Void in //code )
【问题讨论】:
如果可以根据您的需求进行定制,这会是一个有用的开始吗? ***.com/questions/48932152/… 【参考方案1】:Xcode 自动完成指令的方式是“尾随闭包样式”。
来自 Apple 文档:
如果您需要将闭包表达式作为 函数的最终参数和闭包表达式很长,它可以 将其写为尾随闭包会很有用。尾随 闭包是写在外面(和之后)的闭包表达式 它支持的函数调用的括号
如果您想了解更多关于尾随闭包的信息,请在此处向文档报告:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html(参见尾随闭包部分)
【讨论】:
以上是关于Xcode关闭自动完成问题的主要内容,如果未能解决你的问题,请参考以下文章