刚开始开发,我一直在努力将html表单转换为IOS Swift,需要一些指导。我正在使用Alamofire并且不确定如何将提交按钮和UITextlabels绑定到.POST请求。感谢您提供的任何帮助。我一直在寻找没有太多运气的时间。谢谢!
服务器上的PHP字段:
$name = $_POST['name'];
$email = $_POST['email'];
Swift代码:
import UIKit
import Alamofire
class formViewController: UIViewController {
@IBOutlet weak var nameText: UITextField!
@IBOutlet weak var emailText: UITextField!
@IBAction func submitButton(sender: UIButton) {
let parameters: [String: AnyObject] = [:] // fill in your params
let request = Alamofire.request(.POST, "http://testserver.com/form.php", parameters: parameters)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
答案 0 :(得分:0)
UITextField
是一个非常强大的API,因此,访问myTextField.text
中的数据就像执行let array: [String: String] = ["name": nameText.text]
一样简单。请注意,即使它是空白,它仍将返回一个字符串值,因此最好检查它是否具有实际值。由于您已经使用了Interface Builder,因此访问您的值更加容易。例如:
if (task_count === 0)
关于切换到Objective-C的评论: 虽然切换到Objective-C可能在某些层面上有优势,但我会说如果你因为缺乏教程和文档而只是计划切换,那么不要。学习Objective-C,并在两种语言之间进行转换将成为一种自然的技能。因此,即使没有Swift的文档,您仍然可以完成它,因为您可以简单地转换Objective-C代码。至于像选项和AnyObject这样的小差异,不仅Apple还有互联网的许多部分(即SO和Ray Wenderlich)都有很好的记录。
答案 1 :(得分:0)
我想出了如何在没有Alamofire的情况下完成我的帖子请求。这是我目前正在为我工作的东西。随意提供任何改进建议。感谢您的帮助。
func postToServerFunction() {
let url = NSURL(string: "http://testserver.com/test.php")!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)
let bodyData = "firstName=" + firstName.text + "&lastName=" + lastName.text + "&phoneNumber=" + phoneNumber.text
request.HTTPMethod = "POST"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) ...