Sen*_*ful 2 objective-c ios unrecognized-selector swift objective-c-swift-bridge
我试图从Swift调用Objective-C代码.我创建了一个Swift Bridging Header,并在Objective-C文件中添加了一个导入(例如#import "UIColor+Utils.h").
该项目构建,我甚至得到代码完成,但当它试图执行该行代码时,它崩溃并说unrecognized selector sent to class.
我做错了什么?
(Xcode 6.2,iOS 8.2)
Sen*_*ful 12
当您尝试从包含在桥接头中的文件调用扩展方法但未添加到正确的目标时,会导致此问题.
要解决此问题,请确保该文件是与当前正在运行的目标相同的目标的成员.
例如,如果您尝试UIColor+Utils.m从WatchKit扩展中调用Objective-C代码(例如),则.m文件(例如UIColor+Utils.m)必须在其目标成员资格部分中具有WatchKit扩展.
有关更多信息,请参阅下文.
如果在文件中包含.h文件Bridging-Header.h,但忘记将文件添加到目标,则会出现以下行为.
如果您尝试在自己的类上调用方法(例如ABCClass.doSomething()):
Undefined symbols for architecture x86_64.如果您尝试调用类扩展方法(例如UIColor.doSomething()):
unrecognized selector sent to class.| 归档时间: |
|
| 查看次数: |
3306 次 |
| 最近记录: |