我正在尝试构建一个具有登录功能的简单iOS应用程序,但首先我想让它按下注册时的“继续”按钮将数据发布到REST API。由于某种原因,我无法成功将其绑定到按钮按下。下面的代码不知道输入框是什么。我ctr +拖动按钮然后将其添加进去。
import Alamofire
import SwiftyJSON
import UIKit
class SignUpViewController: UIViewController {
var onButtonTapped : (() -> Void)? = nil
@IBOutlet weak var usernametextfield: UITextField!
@IBOutlet weak var passwordtextfield: UITextField!
@IBOutlet weak var emailtextfield: UITextField!
@IBOutlet weak var loginMessage: UILabel!
@IBAction func continueButtonPressed(sender: AnyObject) {
// POST requests dont need a response!
Alamofire.request(.POST, endpoint, parameters: inputboxes)
}
lazy var json : JSON = JSON.null
let endpoint = "anyapi.com/api/users"
override func viewDidLoad() {
digestUser()
}
func digestUser() {
let passwordInput = self.passwordtextfield.text
let usernameInput = self.usernametextfield.text
let emailInput = self.emailtextfield.text
let inputboxes: [String:AnyObject] = [
"hashword": passwordInput!,
"username": usernameInput!,
"email": emailInput!
]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
编辑:Alamofire无法正常工作,因为我忘记在网址前加上“https://”
答案 0 :(得分:2)
Alamofire.request(.POST, BASE_URL , parameters: parameters as? [String : AnyObject])
.responseJSON { response in
if let JSON = response.result.value {
print("Success with JSON: \(JSON)")
}
}
答案 1 :(得分:2)
将inputboxes
声明为outlets
var inputboxes: [String:AnyObject] = [:]
下面的实例变量,它应该有效。
答案 2 :(得分:1)
尝试在函数外声明输入框,以便在整个类中可以访问它。