为啥此代码会给出错误 Expected ',' 分隔符? [关闭]
Posted
技术标签:
【中文标题】为啥此代码会给出错误 Expected \',\' 分隔符? [关闭]【英文标题】:Why does this code give the error Expected ',' separator? [closed]为什么此代码会给出错误 Expected ',' 分隔符? [关闭] 【发布时间】:2016-06-29 21:17:17 【问题描述】:当迁移到 swift 3 时,为什么这段代码不再工作,并要求它需要一个“,”分隔符?
import UIKit
class ProfileButton: UIButton
func setProfileImage(address: String?)
self.setImage(UIImage(named: "iconProfile"), for: [])
if let img = address
if !img.isEmpty
URLSession.shared().dataTask(URLRequest.with: imgRequest(image: img) as URLRequest, completionHandler: (data: Data?, response: URLResponse?, error: Error?) in
if let imageData = data, image = UIImage(data: imageData)
dispatch_async(dispatch_get_main_queue())
self.setImage(image.profileImage(), forState: .Normal)
else if let status = (response as? HTTPURLResponse)?.statusCode
print("image loading status code: \(status)")
).resume()
【问题讨论】:
错误出现在哪一行? 一个问题是调度调用,它只能作为 Swift 3 中 DispatchXXX 类型的方法使用,所以这可能是 ***.com/questions/37801370/… 的副本。 如果您要在没有else
的if let
中解包它,为什么要使用可选字符串?
【参考方案1】:
你有一个.
,应该有一个(
:
URLSession.shared().dataTask(URLRequest.with: //...
应该是:
URLSession.shared().dataTask(URLRequest(with: //...
你有一个轻微的厄运金字塔案例。怎么样?
class ProfileButton: UIButton
func setProfileImage(address: String)
self.setImage(UIImage(named: "iconProfile"), for: [])
guard !address.isEmpty else return
let request = URLRequest(with: imgRequest(image: address) as URLRequest)
data, response, error in
if let imageData = data, image = UIImage(data: imageData)
dispatch_async(dispatch_get_main_queue())
self.setImage(image.profileImage(), forState: .Normal)
else if let status = (response as? HTTPURLResponse)?.statusCode
print("image loading status code: \(status)")
URLSession.shared().dataTask(request).resume()
【讨论】:
第一次听到厄运金字塔这个词@AMomchilov,我的代码又出现了一个错误,所以我猜这就是你的意思。我是 swift 3 URLRequest 结构的完全菜鸟,我不知道为什么这个错误会从名为 request 的变量中显示出来。 它的说法是 imgRequest 是一个未解析的标识符 我在代码中保留了相同的imgRequest
。我不知道它是什么。 “末日金字塔”是当您开始将许多块相互嵌套时形成的三角形。这通常表明设计不佳。在这种情况下,我转换了您的一些 if
语句,并将它们分解成更简单的部分以上是关于为啥此代码会给出错误 Expected ',' 分隔符? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为啥我会收到此错误:模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):语法错误 Unexpected token, expected "