在寫swift3.0代碼是偶遇此問題。最后終于找到解決方案。
問題如下:
NSClassFromString("CustomClass")時(shí)。字符串轉(zhuǎn)成類時(shí),工程中明明存在"CustomClass"。缺報(bào)如下錯(cuò)誤:
fatal error: unexpectedly found nil while unwrapping an Optional value
解決方法:
點(diǎn)擊NSClassFromString 使用方法類 可以看出此函數(shù)在 Foundation框架下 NSObjCRuntime.h 中。
從 NSObjCRuntime.h 中可以看出為OC類,因此swift中引用oc方法需要在CustomClass類 上方添加
@objc(CustomClass)。就能解決此問題。
@objc用法
在 Swift 代碼中,使用@objc修飾后的類型,可以直接供 Objective-C 調(diào)用。可以使用@objc修飾的類型包括:1>未嵌套的類.2>協(xié)議3>非泛型枚舉(僅限于原始值為整形的類型)。4>類和協(xié)議中的屬性和方法。5>構(gòu)造器和析構(gòu)器。6>下標(biāo)。