OStack程序员社区-中国程序员成长平台

标题: iphone - iOS框架无法创建对象 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:39
标题: iphone - iOS框架无法创建对象

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

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

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

    Terminating app due to uncaught exception 'NSInvalidArgumentException', 
    reason: '-[UIView setDataSource:]: unrecognized selector sent to instance 0x756f670
    

如果我不执行以上两个步骤。它构建并运行良好。

我希望我的问题很清楚。感谢您提前提供任何帮助。



Best Answer-推荐答案


至于1:

原因是该框架不是为 iPhone Simulator 构建的。我在 CocosDenshion 遇到了类似的问题,记录在此 SO Question 中我的(尽管有人不喜欢它,出于某种原因)。

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

至于2:

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

关于iphone - iOS框架无法创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18864793/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4