动态功能

时间:2010-07-03 01:48:08

标签: objective-c function dynamic selector

好吧,我有点奇怪的情况。我有两个申请。一个是主应用程序,另一个是在运行时加载的帮助程序包。我想要做的是从bundle中调用主应用程序中定义的函数,以便不必复制代码。我已经尝试设置函数的头声明

   NSString *TXReadableTime(NSTimeInterval date, BOOL longFormat);

在帮助程序包中,但仍然无法编译。这是因为我的一个选择器正在调用该函数,而编译器没有在代码中找到它。只有标题引用。

所以我猜我真正的问题是,有没有办法拥有动态功能?一个承诺给编译器的,但是由一个单独的进程处理。辅助包本身被分配到内存中,因此它可以访问主应用程序的选择器,但我不想将该函数重写为选择器,因为它需要大量的工作。

1 个答案:

答案 0 :(得分:1)

使用-bundle_loader链接器标志指定将加载插件的可执行文件。请参阅ld man pageanother Apple doc以及此信息性blog post