iphone - 从静态库回调

标签 iphone objective-c ios

我认为这应该很简单,但是我很难找到有关此主题的信息。我已经制作了一个静态库,让基础工作没有问题。但是我很难弄清楚如何从静态库回调到主 APP。

我希望我的静态库仅使用一个 header 作为前面,该 header 应包含以下功能:
requestImage:(NSString *)path;
requestLikstOfSomething:(NSSting *)guid;
等等..

这些函数应该完成必要的工作并启动异步 NSURLConnection,并在调用完成后回调主应用程序。你们是怎么做到的,当异步方法完成时,从静态库回调的最佳方法是什么?我应该与代表(这可能吗)、通知、键/值观察者一起做这件事。我真的很想知道你们是如何解决这个问题的,以及你们认为什么是最佳实践。

我将有 20-25 个不同的调用,所以我希望静态库头文件尽可能简单,最好只包含 20-25 个函数的列表。

更新:
我的问题不是如何使用委托(delegate)模式,而是女巫方式是从静态库中进行回调的最佳方式。我想使用委托(delegate),但我不想在公共(public)头文件中有 20-25 个协议(protocol)声明。我希望每个请求只有一个功能。

选择的解决方案:
我在目标参数的帮助下选择了 erkanyildiz 的解决方案,我知道它的技术含量很低,但对我来说这是最干净的解决方案。我的目标是使头文件尽可能小。感谢大家的投入,当我有时间时,我肯定会更多地研究具有大中央调度的 borrrdens 解决方案。 user1055604 解决方案有几个“标准”代表回复,也是我喜欢的一个。所以再次感谢大家的投入。

提前致谢。
最好的祝福
莫腾

最佳答案

委托(delegate)模式是一个很好的方法。

您可以查看以下页面:

http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html#//apple_ref/doc/uid/TP40002974-CH7-SW18

http://en.wikipedia.org/wiki/Delegation_pattern#Objective-C_example

作为另一种方法,您可以在您拥有的每个方法中使用目标参数。
并在这些目标上安排回调,检查它们是否使用 respondsToSelector 响应您的回调

关于iphone - 从静态库回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835278/

相关文章:

ios - 使用 Firebase 字典在 Swift 中填充数组

iphone - 设置 UITableViewCell :textLabel:text 时应用程序崩溃

iphone - 在 Objective-C 中复制 UI 元素

objective-c - IOS 8 延时拍摄功能

objective-c - 以编程方式添加导出类型 UTI 以进行应用内购买

ios - 在 Swift 中使用 UIButton 动画

iphone - 显示键盘时以相同的速率移动 UIView

objective-c - 在不同的类中设置 Bool

html - 如何让小内容填充UIWebView?

ios - 将 UITabBarController 设置为 Root View Controller 时如何修复应用程序委托(delegate)中的 "Unexpectedly found nil"