在 Swift 中使用未解析的标识符“参数”
Posted
技术标签:
【中文标题】在 Swift 中使用未解析的标识符“参数”【英文标题】:Use of unresolved identifier 'parameters' in Swift 【发布时间】:2014-11-22 19:34:07 【问题描述】:所以我在尝试运行我的脚本时遇到了这个错误
使用未解析的标识符“参数”
这是获取 CSRF 令牌然后登录用户的代码
var username = usernameField.text
var password = passwordField.text
var token = String()
var parameters = String?()
//Get CSRF token
Alamofire.request(.GET, "https://localhost/api/csrf")
.responseJSON(request, response, data, error) in
var jsonParse = data as NSDictionary
var responseJSON = JSON(jsonParse)
if(responseJSON["success"]) == false
println(responseJSON["error"])
else
let token = responseJSON["data"].string
let parameters = [
"user": username,
"password": password,
"csrf": token
]
Alamofire.request(.POST, "https://localhost/api/login", parameters: parameters)
.responseJSON(request, response, JSON, error) in
println(token)
println(JSON)
考虑到我已经像这样启动它,我不明白为什么我不能访问范围之外的parameters
var parameters = String?()
有什么想法吗?
【问题讨论】:
【参考方案1】:您在请求块之外定义了 参数。在您的请求块内,您定义一个常量变量,该变量只能在该块内访问。因此删除 let 并写:
parameters = [
"user": username,
"password": password,
"csrf": token
]
我认为第二个请求应该在您得到第一个请求的响应后发出?如果是这样,请将第二个请求放在第一个请求的回调中。
编辑:“令牌”也有同样的问题,所以在这里做同样的事情。
【讨论】:
token也一样以上是关于在 Swift 中使用未解析的标识符“参数”的主要内容,如果未能解决你的问题,请参考以下文章
Swift:函数中的 UIAlert - 使用未解析的标识符“存在”
iOS [Swift]:解析 Facebook 登录“使用未解析的标识符‘权限’”
Swift ui macos ProgressView 使用未解析的标识符'ProgressView'