【问题标题】:Setting up Contact Form in Xcode在 Xcode 中设置联系表
【发布时间】:2012-09-15 08:05:59
【问题描述】:

我对 Xcode 比较陌生,并且在开始处理更复杂的事情之前,我正在尝试设计和创建一个非常基本的应用程序 - 所以我一直在学习。

所以我已经把我的联系表单视图控制器全部设置好了,我想弄清楚如何拉出输入的数据,所以当用户点击提交时,它会全部发送到定义的电子邮件地址。我知道这需要一些我很满意的 php 服务器端,但这是导致问题的 Xcode 中的基本整理 - 分配操作/代码等。

大量教程解释了如何从头开始创建表单,但将其实现到现有项目中,这证明很棘手 - 我已经有一个视图控制器设置和所需的界面。

我的视图控制器截图在这里:http://pixelproofdesign.co.uk/stackoverflow/View%20Controller%20Screenshot.png

您可以在这里找到项目文件:http://pixelproofdesign.co.uk/stackoverflow/Pixel%20Proof_NEW.zip

任何帮助将不胜感激 - 它让我在弯道上前进!

【问题讨论】:

    标签: iphone ios xcode


    【解决方案1】:

    将表单的每个文本字段连接到 .H 文件中的插座。然后,当用户点击“联系我们”按钮时,这将允许您获取文本属性。

    @property (weak, nonatomic) IBOutlet UITextField *contactName; @property (weak, nonatomic) IBOutlet UITextField *contactEmail; @property (weak, nonatomic) IBOutlet UITextField *contactPhone; @property (weak, nonatomic) IBOutlet UITextField *contactDescription;

    向该按钮添加一个动作并将文本字段连接成一个 NSString,例如

    NSString *message = [NSString stringWithFormat:@"name=%@&email=%@&phone=%@&description=%@",
                         self.contactName.text,
                         self.contactEmail.text,
                         self.contactPhone.text,
                         self.contactDescription.text];
    

    然后您可以将其作为 POST 发送,PHP 会将每个字段作为变量获取。另见sending form data via HTTP POST

    【讨论】:

    • 谢谢!我已经将每个字段调用到 .h 文件中的相关出口 - 但是我在哪里放置 NSString 代码?我认为这将链接到“联系我们”按钮。我在此处添加了 viewcontroller 和 .h 文件的当前屏幕截图:pixelproofdesign.co.uk/stackoverflow/updated%20h%20file.png
    • 是的,将“联系我们”按钮连接到 .M 文件中的方法并将 NSString 定义放在那里。然后将该字符串转换为 NSData 对象以传递给 NSMutableRequest
    【解决方案2】:

    当你收集完数据后建立一个 NSDictionary

    id dict = @{@"formField1": formField1.stringValue; @"FormField2": formField2.stringValue};
    

    => 您形成的结果字典编码,因此您可以将其放入 html (category to get postData

    id data = [dict postData];
    

    => 然后使用 NSURLConnection 传输它

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"www.url.de"]];
    [request setHTTPBody:data];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"multipart/form-data, boundary=--------------BOUNDARY------------------" forHTTPHeaderField:@"Content-type"];
    
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    

    免责声明: 我在这里写了这个内联,从未测试过错别字 这是一种非常基本的方法,当它变得更复杂时,我会考虑使用框架......例如AFNetwork

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      相关资源
      最近更新 更多