即使接口生成器知道MyClass
,我在启动应用程序时也会得到一个错误。
当MyClass
是库的一部分时,就会发生这种情况,如果我直接在应用程序目标中编译类,就不会发生这种情况。
发布于 2011-05-23 09:51:10
这与Interface Builder没有任何关系,这里发生的是Xcode没有从你的静态库中加载符号。要解决此问题,您需要将-all_load -ObjC
标志添加到Other Linker Flags
键、项目(可能还有目标)构建设置中。
由于Objective-C只为每个类生成一个符号,因此我们必须通过使用-ObjC标志来强制链接器加载类的成员,还必须通过添加-all_load
链接器标志来强制包含静态库中的所有对象。如果您跳过这些标志,迟早会遇到unrecognized selector
的错误,或者得到其他异常,比如您在这里观察到的异常。
发布于 2015-03-12 22:54:20
我今天在使用Swift的时候确实遇到了这个问题。
我将类Model.h + Model.m
更改为Model.swift
。此对象在接口生成器中与class = Model
一起使用。
一旦我替换了对象,这个类就不能再被加载了。
我要做的是将IB中的类引用从:
Class = Model
Module =
至
Class = Model
Module = <TARGETNAME>
您可以在构建设置中找到<TARGETNAME>
。它也是在生成的Swift-Header中显示的名称:#import "TARGETNAME-Swift.h"
发布于 2012-12-13 13:42:55
去"ProjectName“,点击它,然后去”构建阶段“标签,然后点击”编译源代码“,然后点击"+”按钮,一个窗口就会出现,选择"MyClass.m“文件,然后点击”添加“,
构建并运行项目,问题一定会得到解决
https://stackoverflow.com/questions/1725881
复制相似问题