2011-03-29 30 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