创建Objective-C API

Pau*_*len 4 api objective-c ios

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

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

任何人都可以帮我解决一些教程和指针,了解如何最好地学习它?

Luk*_*uke 7

听起来你想要做的是构建一个静态库.这是一个.a包含目标代码的编译文件,您将分发给客户端以及包含该接口的头文件.这篇文章有点过时,但有一些很好的起点.或者,如果您不介意泄露源代码,您可以将一组源文件提供给您的客户端.

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

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

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

enum {
    MYAPI_MODE_BETA,
    MYAPI_MODE_LIVE,
    NUM_MYAPI_MODES
};
Run Code Online (Sandbox Code Playgroud)

然后打电话:

[MyAPI username:@"Username" password:@"Password" mode:MYAPI_MODE_BETA];
Run Code Online (Sandbox Code Playgroud)

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

祝好运!