创建 Objective-C API

问题描述 投票:0回答:1

我从未在 Objective-C 中做过 API,现在需要这样做。 “想法”是我构建一个可以在其他应用程序中实现的 API。很像 Flurry,只是用于其他目的。 启动 API 时,应输入用户名、密码和模式。模式应该是 LIVE 或 BETA(我猜这应该是 NSString(?)),然后应该可以使用

[MyAPI doSomething:withThisObject];
等。

所以开始吧

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

任何人都可以帮我提供一些教程并指导如何最好地学习这一点吗?

ios objective-c
1个回答
7
投票

听起来你想做的是构建一个静态库。这是一个已编译的

.a
文件,其中包含您将分发给客户端的目标代码以及包含接口的头文件。 这篇文章有点过时,但有一些很好的起点。或者,如果您不介意放弃源代码,您可以将源文件集合提供给您的客户。

就开发 API 本身而言,它应该与您在自己的应用程序中设计 Objective-C 对象的接口和实现的方式非常相似。您将拥有一个

MyAPI
类,其中包含初始化、销毁函数以及您想要的所有功能。如果接口很复杂,您还可以拥有多个具有不同功能的类。因为您在代码片段中大写了
MyAPI
,所以看起来您想通过调用类而不是类的实例来使用它 - 如果您认为只需要一个实例,那么这是一个很好的策略。要实现此目的,您可以使用 singleton 模式。

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

就我个人而言,我会使用无符号整数的

enum
而不是
NSString
,因为它简化了比较等。所以你可以这样做:

enum {
    MYAPI_MODE_BETA,
    MYAPI_MODE_LIVE,
    NUM_MYAPI_MODES
};

然后致电:

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

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

NUM_MYAPI_MODES
。)

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.