2012-12-16 15 views
0

我正在創建一個應用程序,該應用程序從屏幕上的文本字段接收輸入並將其發送到我的php服務器。但我是編程新手,我不知道該怎麼做。我在蘋果開發中遵循了一些指南,並學習瞭如何創建文本字段,修改它並創建委託。但從這裏我不知道該怎麼做。只要有人點擊「發送」按鈕,鍵盤應該關閉,消息應該發送到我的服務器。我怎樣才能做到這一點?保存來自textfield的輸入併發送到服務器[objective c]

+0

你寫的服務器端部分?如果是這樣,它如何期待數據?作爲GET或POST的一部分? – Kitsune

+0

我的朋友正在做服務器端,但他希望它通過http post。我搜索了但找不到對我有用的東西(不能真正修改代碼,我自己也不錯)。這個想法是,服務器將通過JSON發送推送通知給其他設備,但這是後來的問題。 HTTP post是這樣的:) –

+0

在php中創建web服務。 –

回答

0

檢查回車鍵何時按下,你可以在-textField: shouldChangeCharactersInRange:replacementString:方法UITextFieldDelegate。並使用NSURLConnection發送帖子請求。

.h

@interface ViewController : UIViewController <UITextFieldDelegate> 

@property (nonatomic, retain) IBOutlet UITextField *textField; 

.m

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if ([string isEqualToString:@"\n"]) 
    { 
     [textField resignFirstResponder]; 
     [self sendData:textField.text]; 
    } 
    return YES; 
} 

- (void)sendData:(NSString *)textData 
{ 
    NSURL *serverURL = [NSURL URLWithString:@"http://8.8.8.8:80/1.php"]; //the address of your server 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:serverURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; 
    [request addValue: @"text/plain charset=UTF-8" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPMethod:@"POST"]; 
    [request setHTTPBody:[textData dataUsingEncoding:NSUTF8StringEncoding]; 

    NSError *error = nil; 
    NSData *responsedata = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error]; 
    if (error) 
    { 
     //..error handler 
    } 
} 
相關問題