0

我对objective-c很陌生,所以请耐心等待。我只是复制和了解iOS POST请求的教程和实施的连接方法中我获得了以下错误粘贴代码: enter image description here ViewController.hNSURLConnectionDelegate - 使用未定义的标识符“连接”

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController <NSURLConnectionDelegate> 

@property (weak, nonatomic) IBOutlet UITextField *userNameTextField; 
@property (weak, nonatomic) IBOutlet UITextField *passwordTextField; 

- (IBAction)postRequest:(id)sender; 

@end 

ViewController.m

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (IBAction)postRequest:(id)sender { 

    NSString *post = [NSString stringWithFormat:@"Username=%@&Password=%@",@"randomUser",@"randomPassword"]; 
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
    NSString *postLength = [NSString stringWithFormat:@"%lu", [postData length]]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http:/example.com/users/show.json"]]]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody:postData]; 
    NSURLConnection * conn = [[NSURLConnection alloc]initWithRequest:request delegate:self]; 

    if(conn) { 
     NSLog(@"Connection Successful"); 
    } else { 
     NSLog(@"Connection could not be made"); 
    } 

    - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { 
     _responseData = [[NSMutableData alloc] init]; 
    } 


    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { 
     [_responseData appendData:data]; 
    } 

    - (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse*)cachedResponse { 
     return nil; 
    } 

    - (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
     NSString* respsoneString = [NSString stringWithUTF8String:[_responseData bytes]]; 
    } 

    - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { 
     //Do something if there is an error in the connection 
    } 


} 
@end 
+2

你声明的方法 – Levi 2014-12-05 10:25:51

+1

声明didReceiveResponse,didReceiveData,willCacheResponse,connectionDidFinishLoading,didFailWithError postRequest – iOSdev 2014-12-05 10:27:56

+0

OK之外,谢谢你快速回复,问题解决了 – mkkrolik 2014-12-05 10:31:09

回答

-1

确实收到回应是一种NSURLConnectionDataDelegate方法包括您的代码中的照片通话

@interface ViewController : UIViewController <NSURLConnectionDelegate, NSURLConnectionDataDelegate> 
在你的代码

你没有关闭}方法的身体内上方的另一种方法它