2014-02-06 2 views
0

기본 데이터베이스와 응용 프로그램의 상호 작용에 대한 자습서를 읽었으며 약간의 문제가있었습니다. 그것은 내가 온라인으로 읽은 ASIHTTPRequest API를 사용하여 구식이었고 Xcode조차도 사용하지 말라고했습니다. 그래서 AFNetworking을 다운로드하여 설치했습니다. 유일한 문제는 튜토리얼을 따라 오는 멍청한 놈이라는 것입니다. 나는 지금해야할 일이 없습니다. 내 프로젝트에는 Json, MBProgressHUD 및 AFNetworking 파일이 모두 있지만 AFNetworking 친숙한 코드로 자습서의 코드를 변경할 수는 없습니다. 누군가 나를 도울 수 있겠습니까?AFNetworking을 사용하여 데이터베이스에서 요청

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    NSLog(@"Want to redeem: %@", textField.text); 

    // Get device unique ID 
    UIDevice *device = [UIDevice currentDevice]; 
    NSString *uniqueIdentifier = [device uniqueIdentifier]; 

    // Start request 
    NSString *code = textField.text; 
    NSURL *url = [NSURL URLWithString:@"http://www.wildfables.com/promos/"]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
    [request setPostValue:@"1" forKey:@"rw_app_id"]; 
    [request setPostValue:code forKey:@"code"]; 
    [request setPostValue:uniqueIdentifier forKey:@"device_id"]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 

    // Hide keyword 
    [textField resignFirstResponder]; 

    // Clear text field 
    textView.text = @""; 

    return TRUE; 
} 

답변

0

할 수 있습니다 POST과 같이 AFNetworking를 사용하여 :

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
NSDictionary *parameters = @{@"foo": @"bar"}; 
[manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

나는 또한 그것을 구현하기 쉽습니다으로 SVProgressHUDhere을 사용하는 것이 좋습니다 것입니다 여기에

튜토리얼의 코드입니다.

그리고 UDID를 사용하는 앱을 사용하는 것이 앱 스토어에서 더 이상 허용되지 않습니다. Source

+0

제안한 코드에 다음을 어떻게 포함합니까? [요청 setPostValue : @ "1"forKey : @ "rw_app_id"]; [요청 setPostValue : 코드 forKey : @ "코드"]; [요청 setPostValue : uniqueIdentifier forKey : @ "device_id"]; 물론 UDID를 뺀 것 – user3272893

+0

당신의 요청은 단지 사전 키와 값이므로, 예제와 같이'NSDictionary' 리터럴로 처리 할 수 ​​있습니다. 'NSDictionary * parameters = @ {@ "rw_app_id": @ "1", @ "code": code};' – Sean

+0

고맙습니다. – user3272893

관련 문제