我从来没有在objective-c中做过API,现在需要这样做。我的"想法"是构建一个可以在其他应用程序中实现的API。很像Flurry,只是有其他用途。在启动API时,应该输入用户名、密码和模式。模式应该是LIVE或BETA(我猜这应该是一个NSString(?)),然后应该是好的与[MyAPI doSomething:withThisObject];
等。
首先是[MyAPI username:@"Username" password:@"Password" mode:@"BETA"];
谁能帮我一些教程和指针如何最好地学习这个?
听起来您想要做的是构建一个静态库。这是一个编译的.a
文件,包含目标代码,您将分发到客户端以及包含接口的头文件。这篇文章有点过时,但有一些好的起点。或者,如果你不介意泄露你的源代码,你也可以只交付一组源文件给你的客户端。
就开发API本身而言,它应该与您在自己的应用程序中设计接口和实现Objective-C对象的方式非常相似。您将有一个MyAPI
类,其中包含用于初始化、销毁和所有所需功能的函数。如果接口很复杂,还可以使用具有不同功能的多个类。因为您在代码片段中大写了MyAPI
,所以看起来您希望通过调用类而不是类的实例来使用它—如果您认为只需要一个实例,这是一个很好的策略。要做到这一点,您可以使用单例模式。
因为你已经使用了用户名和密码,我想你的API将与web内部接口。我发现在Objective-C中解析JSON非常简单——它很容易从服务器发送请求和获取信息。
我个人会使用enum
的unsigned int而不是NSString
,因为它简化了比较等。你可以这样写:
enum {
MYAPI_MODE_BETA,
MYAPI_MODE_LIVE,
NUM_MYAPI_MODES
};
然后调用:
[MyAPI username:@"Username" password:@"Password" mode:MYAPI_MODE_BETA];
还可以方便地检查它们是否提供了有效的模式。(必须小于NUM_MYAPI_MODES
.)
祝你好运!