我对swift非常新,但我可以使用javascript和php,所以认为这对我有意义。我已经阅读了很多关于这个主题的帖子,但并没有真正解释我的。我有以下代码非常简单。我有几个带有登录信息的文本字段传递给php。但是当我尝试使用函数中的var时,这是不可能的。所以我想出来但是当我尝试用不同的var重新定义函数之外的变量时,我仍然会得到错误。这是到目前为止的代码
import UIKit
class RegisterPage: UIViewController, UITextFieldDelegate{
@IBOutlet weak var userEmailTextField: UITextField!
@IBOutlet weak var userPasswordTextField: UITextField!
@IBOutlet weak var userPasswordConfirmTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func registerTapped(sender: AnyObject) {
let userEmail = userEmailTextField.text
let userPassword = userPasswordTextField.text
let userConfirmPassword = userPasswordConfirmTextField.text
// check for empty fields
if(userEmail.isEmpty || userPassword.isEmpty || userConfirmPassword.isEmpty)
{
// Display alert message
displayMyAlertMessage("Alle velden gelieve invullen");
return;
}
//Check if passwords match
if(userPassword != userConfirmPassword){
// Display alert message
displayMyAlertMessage("Wachtwoorden komen niet overeen");
return;
}
}// end of registerTapped button
// send data to server side
static var urlConn: NSURL = NSURL(string: "http://xxxxxxxxx")!
var request: NSMutableURLRequest = NSMutableURLRequest(URL:urlConn);
var credLogin = "email=\(userEmail)&password=\(userPassword)"
以下行给出了未解析的标识符错误
var credLogin = "email=\(userEmail)&password=\(userPassword)"
我已经尝试了很多不同的东西,但是我不能在它之外的函数中移动var,而且我还有其他代码块这样的错误,我真的想知道这在swift中是如何工作的。
谢谢
答案 0 :(得分:2)
变量userEmail
和userPassword
在registerTapped
方法的范围内声明。在这种方法之外,它们是不可见的。
要么放行
var credLogin = "email=\(userEmail)&password=\(userPassword)"
在方法中或在IBOutlet
声明后立即将变量声明为实例变量。
向服务器端发送数据的代码也必须在方法中执行。