我正在为 REST API 编写一个 Objective-C 包装器。我正在阅读的很多内容都说不要使用同步 NSUrlConnection 请求以避免阻塞主线程。这是有道理的,但我想知道,在 Objective-C 中制作 API 包装器的最佳方法是什么?
例如,我们有一个 API 方法,它接受会话 ID 并返回会话是否有效。理想情况下,包装方法原型如下所示:
- (BOOL) sessionIsValid:(NSString *)sessionId;
因此,可以调用该方法,并且可以使用返回值来决定下一步要做什么。但是如果 API 调用是异步的,这将如何工作?调用者似乎需要将自己设置为包装器的委托,发出请求,然后处理来自委托方法的响应。对于这样一个简单的 API 调用,看起来很丑陋。有没有好的方法来实现这一目标?