2014-03-26 67 views
-1

在這個學習上急劇學習,所以我會說這是99%我的錯誤的地方。使用AFNetworking進行Web服務數據檢索

爲我的第一個應用程序嘗試一個簡單的過程。 我想從Web服務獲取數據並將某些內容輸出到標籤。 我是一名.NET開發人員,因此Web服務已完成,並按預期在瀏覽器中返回JSON數據。 {「GetVenuesForBrandResult」:[{「brandID」:0,「createdDate」:「/ Date(-62135596800000 + 0000)/」,「venueID」:2,「venueName」:「HMV Records」}]}

看過SO之後,決定使用AFNetworking,版本2.0,作爲一個pod加載。

因此,一切工作在獲取數據方面,但2個問題請; 1)Xcode中的輸出視圖顯示數據; GetVenuesForBrandResult =({brandID = 0; createdDate =「/ Date(-62135596800000 + 0000)/」; venueID = 2; venueName =「HMV Records」; } ); 這只是XCode5格式的顯示目的?我的數據是真實的json嗎? 2)我如何消費? 嘗試檢查isKindOfClass是否爲nsarray或nsdictionary,以及這些條件是否從未滿足。這讓我懷疑Q1是個問題。

您對Xcode新手的幫助表示讚賞。


根據Paul的優秀提示,我的代碼的相關部分在這裏; Web服務的鏈接是硬編碼現在用於測試目的

NSString *urlstring =  @"http://hiddenurl/shopBeaconService/Service1.svc/GetVenuesForBra nd/1"; 
     //NSString *str2 = self.email.text; 
     //NSString *str3 = @"/"; 
     //NSString *str4 = [self.password text]; 
     //NSString *urlstring = [NSString stringWithFormat:@"%@%@%@%@",str1,str2,str3,str4]; 

     NSURL *url = [NSURL URLWithString:urlstring]; 

     NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

     AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
     operation.responseSerializer = [AFJSONResponseSerializer serializer]; 
     [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation,id responseObject) 
     { 
      NSLog(@"%@",responseObject); 

      // NSDictionary *item = [responseObject objectForKey:@""]; 
      // NSString *title = [item objectForKey:@"venueName"]; 

      //NSLog(@"venue= %@",title); 
     } failure:nil]; 

     [operation start]; 
+0

這將有助於如果你可以更新您的問題,包括你的源代碼 – Paulw11

回答

1

響應對象當您使用AFJSONResponseSerializer是一個NSDictionary。您在日誌中看到的是[responseObject description]的輸出 - 一種爲記錄目的而打印說明的方法。

雷Wenderlich具有良好的tutorial上AFNetworking

+0

非常感謝保羅。它指出了我自己正確處理這個問題的正確方向。這是你最終學習的方式! – stumcc

相關問題