在静态库iOS中导入项目类

时间:2013-08-13 11:08:22

标签: ios objective-c class import static-libraries

我在一个工作区中有一个静态库项目和一个iOS项目。静态库中有一个类FCPlayerData。我在iOS项目中将FCPlayerData子类化为PlayerData

问题:

我需要静态库来引用iOS项目中的PlayerData(子类)但它不识别PlayerData的任何属性,并且当点击CMD时,“符号不是发现”。如何将iOS项目中的子类导入静态库?

提前致谢。

3 个答案:

答案 0 :(得分:0)

如果您只需要向FCPlayerData添加几个方法,则可以使用Categories将这些方法直接添加到FCPlayerData。 点击此处了解有关类别的更多信息:http://krodev.wordpress.com/2012/09/29/objective-c-categories/或此处http://cupsofcocoa.com/2011/03/27/objective-c-lesson-8-categories/

答案 1 :(得分:0)

如果FCPlayerDataPlayerData的子类,则传递FCPlayerData类型的实例是安全的。

或者您可以将子类的头文件和实现文件添加到项目中,但这会导致项目与静态库之间存在交叉依赖。

答案 2 :(得分:0)

我已经查看了答案,但是,在我的情况下,某个类别不合适。

我找到了解决方案:

在静态库中,我在FCReferences类中创建了一个属性:@property(strong, nonatomic) id playerData;。现在,在静态库中,我只需要访问FCPlayerData的核心属性,以便访问它们,我使用((FCPlayerData*)playerData).myProperty进行转换。在iOS项目中,我需要访问子类的其他属性,因此我将其转换为((PlayerData *)playerData).additionalProperty

注意:PlayerDataFCPlayerData的子类。