最新消息:iOS编程开发交流群(6906921) ,Mac.Cocoa开发交流群(7758675) 欢迎iOS/macOS开发编程爱好及学习者加入!

Swift NSClassFromString Crash

iOS 天狐 3533浏览 0评论

我们都知道动态获取类使用 NSClassFromString方法

但是在Swift中

直接使用会报错:unexpectedly found nil while unwrapping an Optional value

要在类名前加上module

Swift虽然没有官方说明支持namespace,但是有module或者说target来实现与namespace相似的功能

Xcode中的每个构建目标(Target)可以当做是一个模块(Module),这个构建目标可以是一个Application,也可以是一个通用的Framework(更多的时候是一个Application),target名称与bundle名称一致

这样就ok了。

但是还有个操蛋的情况是,我们的bundle name含有-符号的时候,还会报错。测试发现当target名称包含-符号的时候,系统会自动转换为_,原名Sky-Swift,转换为了Sky_Swift

069af321-6548-4aca-b6bb-b13af59a0f26

那么代码中替换了就行。

 

Swift命名空间更多信息:http://www.cnblogs.com/kenshincui/p/4824810.html#nameSpace

转载请注明:天狐博客 » Swift NSClassFromString Crash

微信 OR 支付宝 扫描二维码
为天狐 打赏
非常感谢你的支持,哥会继续努力!
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址