2013-02-27 65 views
0

我正在開發一個iPhone應用程序,它使用API​​從http://www.recipepuppy.com/about/api/查找食譜。在Xcode中搜索API

有三個參數必須放入返回結果中。有我,q和p,我在哪裏是成分,q在正常的搜索查詢中,p是頁面#。我能夠專門添加這些參數,然後將結果加載到Xcode中的表格視圖中。

我也想實現一個搜索,允許用戶根據他們的感覺搜索食譜並返回結果。有人能指出我如何做到這一點的正確方向。我知道我將不得不接受用戶輸入的內容並將其放入字符串中,但是如何將該字符串實現爲URL的參數?

回答

1

要回答你的問題:

我知道我將不得不採取什麼都用戶輸入,並把它變成一個字符串,但如何執行該字符串到URL的參數?

您可以使用NSString的stringWithFormat方法。例如:

NSString *ingredients = @"ingredients"; 
NSString *query = @"soups"; 
NSString *page = @"1"; 

NSString *url = [NSString stringWithFormat:@"http://www.recipepuppy.com/api/?i=%@&q=%@&p=%@",ingredients,query,page]; 

在使用此URL之前,建議您對其進行網址編碼。

NSString *encodedURL = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

現在,你有你的網址,只需啓動網絡連接(NSURLConnection的,AFNetworking,選擇是你的),解析返回的數據,並加載到一個數組中的表視圖中顯示。

+0

阿龍給我的API,如果我動態地建立三個參數字符串的工作,但我現在有在服用的用戶輸入問題一個文本字段並將其放入一個字符串中,然後放入特定參數中。你能提供任何幫助嗎? – 2013-03-04 21:56:56

+0

沒關係,我想通了,謝謝你的幫助! – 2013-03-04 22:04:17

0

我會使用AFNetworking爲所有的網絡請求: https://github.com/AFNetworking/AFNetworking

發出請求只是構建一個NSString,並把它送上

[NSString stringWithFormat:@"http://www.recipepuppy.com/api/?i=%@&q=%@&p=%d", self.ingredients, self.query, self.page] 
1

要構建了涉及JSON通信堅實的應用在網絡中,您可以使用JSONModel庫。它爲您提供數據模型,並負責發送和接收JSON並返回到您的API服務。

你可以看看GitHub的頁面: https://github.com/icanzilb/JSONModel/

或者還就如何使用JSONModel YouTube的JSON API的例子: http://www.touch-code-magazine.com/how-to-make-a-youtube-app-using-mgbox-and-jsonmodel/

在GitHub的頁面上有更多的代碼樣本。祝你好運:)

(披露:我JSONModel的作者)