我在一个工作区中有一个静态库项目和一个iOS项目。静态库中有一个类FCPlayerData
。我在iOS项目中将FCPlayerData
子类化为PlayerData
。
问题:
我需要静态库来引用iOS项目中的PlayerData
(子类)但它不识别PlayerData
的任何属性,并且当点击CMD时,“符号不是发现”。如何将iOS项目中的子类导入静态库?
提前致谢。
答案 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)
如果FCPlayerData
是PlayerData
的子类,则传递FCPlayerData
类型的实例是安全的。
或者您可以将子类的头文件和实现文件添加到项目中,但这会导致项目与静态库之间存在交叉依赖。
答案 2 :(得分:0)
我已经查看了答案,但是,在我的情况下,某个类别不合适。
我找到了解决方案:
在静态库中,我在FCReferences
类中创建了一个属性:@property(strong, nonatomic) id playerData;
。现在,在静态库中,我只需要访问FCPlayerData
的核心属性,以便访问它们,我使用((FCPlayerData*)playerData).myProperty
进行转换。在iOS项目中,我需要访问子类的其他属性,因此我将其转换为((PlayerData *)playerData).additionalProperty
。
注意:PlayerData
是FCPlayerData
的子类。