在写swift3.0代码是偶遇此问题。最后终于找到解决方案。
问题如下:
NSClassFromString("CustomClass")时。字符串转成类时,工程中明明存在"CustomClass"。缺报如下错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
解决方法:
点击NSClassFromString 使用方法类 可以看出此函数在 Foundation框架下 NSObjCRuntime.h 中。
从 NSObjCRuntime.h 中可以看出为OC类,因此swift中引用oc方法需要在CustomClass类 上方添加
@objc(CustomClass)。就能解决此问题。
@objc用法
在 Swift 代码中,使用@objc
修饰后的类型,可以直接供 Objective-C 调用。可以使用@objc
修饰的类型包括:1>未嵌套的类.2>协议3>非泛型枚举(仅限于原始值为整形的类型)。4>类和协议中的属性和方法。5>构造器和析构器。6>下标。