2011-03-29 29 views
0

我想使用InventoryAPI開發針對IPAD的銷售點應用程序。我知道Erply有他們自己的IPAD POS,但我有想法讓它有點不同。針對IPAD和http後查詢的開發庫存API開發服務器

有沒有人使用過這個InventoryAPI,使用簡單嗎?好的,我的問題是,我怎樣才能發送http查詢到服務器並獲得Cocoa的響應。我剛開始學習這一點,如果任何人都可以指向我一些有用的鏈接或主題,包括髮送http查詢,我會很感激。

回答

1

可能有一個SDK,但如果沒有,你會學到一些新的東西,這是一件好事。

一般來說,您要與基於Web的API進行交互的方式是使用NSURLConnection對象,它是委託NSURLConnectionDelegate。

有一個構建URL和URL請求的類,然後進行連接。然後你將創建一個NSObject子類,使其符合NSURLConnectionDelegate協議(這是連接委託),並實現4個委託方法(這些都在類參考中涵蓋)。當你從服務器上拉下數據時,在你的connectionDidFinish方法中,轉換/解析數據,並將通知中的結果對象發佈到視圖控制器或其他東西。另外,如果它是基於OAuth的,則需要編寫某種類型的令牌管理器類,這基本上是相同的事情......除了您需要編寫處理不同的HTTP響應代碼,以便用戶不需要擔心過期的令牌等。

無論如何,我很樂意提供更多細節...可可實際上使得處理這類事情非常簡單。

噢......你正在使用的這個API做JSON還是XML?無論哪種方式,現在儘量避免使用NSXMLParser ......這很令人頭疼,特別是當您只想要啓動並運行時。 (儘管一般情況下很方便)有一些非常好的開源庫。

+0

是的,我讀到這個APi同時具有 - XML和JSON,所以我將會使用JSON :) – evilone 2011-03-30 04:19:12

+0

[當然有!](http://cl.ly/5faz)是的,這是一個非正式的協議,所以它不是必需的,但是如果你將NSObject繼承爲連接委託,你最好相信如果你不把它放在頭文件中,編譯器會發出警告。(http: //cl.ly/5gsN) – 2011-04-01 06:32:08

+0

我應該補充一點,我不喜歡用id關鍵字而不是實際的子類聲明我的委託。這將否定這種聲明的必要性,但無論如何。 – 2011-04-01 06:34:51