创建Objective-C API

时间:2011-08-19 13:21:04

标签: objective-c ios api

我从未在objective-c中创建过API,现在需要这样做。 “想法”是我构建了一个可以在其他应用程序中实现的API。很像Flurry,仅用于其他目的。 启动API时,应输入用户名,密码和模式。该模式应该是LIVE或BETA(我想这应该是一个NSString(?)),然后在[MyAPI doSomething:withThisObject];之后应该没问题。

所以要开始[MyAPI username:@"Username" password:@"Password" mode:@"BETA"];

任何人都可以帮我解决一些关于如何最好地学习的教程和指针吗?

1 个答案:

答案 0 :(得分:7)

听起来你想要做的就是建立一个static library。这是一个编译的.a文件,其中包含您将分发给客户端的对象代码以及包含该接口的头文件。 This post有点过时,但有一些很好的起点。或者,如果您不介意泄露源代码,您可以将一组源文件提供给您的客户。

在开发API本身方面,它应该与您在自己的应用程序中设计Objective-C对象的接口和实现的方式非常相似。您将拥有一个MyAPI类,其中包含初始化,销毁以及所需的所有功能。如果接口很复杂,您还可以拥有多个具有不同功能的类。因为你已经在你的代码片段中大写MyAPI,看起来你想通过调用类而不是类的实例来使用它 - 如果你认为你只需要一个类,那么这是一个很好的策略实例。要完成此操作,您可以使用singleton模式。

因为您使用了用户名和密码,我想您的API将在内部与网络连接。我发现parsing JSON在Objective-C中非常简单 - 从服务器发送请求和获取信息很容易。

我个人会使用enum无符号整数而不是NSString只是因为它简化了比较等。所以你可以这样做:

enum {
    MYAPI_MODE_BETA,
    MYAPI_MODE_LIVE,
    NUM_MYAPI_MODES
};

然后致电:

[MyAPI username:@"Username" password:@"Password" mode:MYAPI_MODE_BETA];

还可以轻松检查他们是否提供了有效模式。 (必须小于NUM_MYAPI_MODES。)

祝你好运!