iOS Framework无法创建对象

时间:2013-09-18 05:52:19

标签: iphone ios objective-c

我创建了一个iOS框架,其中我只有一个UIView类(让我说X ),其中我已经声明了一些数据源和委托方法。

  1. 现在,当我在项目中使用框架并尝试创建 X 的对象时,它会出现以下错误:

    Undefined symbols for architecture i386:
    "_OBJC_CLASS_$_X", referenced from:
    objc-class-ref in ViewController.o
    
  2. 现在,如果我在XIB中使用UIView并将其类更改为 X 并将其连接到插座,然后将setDelegate和setDatasource引发异常:

    Terminating app due to uncaught exception 'NSInvalidArgumentException', 
    reason: '-[UIView setDataSource:]: unrecognized selector sent to instance 0x756f670
    
  3. 如果我不做上述两个步骤。它构建并运行良好。

    我希望我对此表示清楚。感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:1)

至于1:

原因是框架不是为iPhone模拟器构建的。我在CocosDenshion中遇到了类似的问题,记录在我的SO Question中(由于某种原因,有人不喜欢它)。

最简单的解决方案是将您的项目和框架放入Xcode工作区,Xcode将在需要时为iPhone模拟器构建框架。如果您不想这样做,请按照上面链接的SO问题中的说明进行操作。

至于2:

您需要提供指定的方法;看起来您更改了基于UITableView的类并将其更改为基于UIView的类,这将无效。从UITableView派生新类,事情应该重新开始。