swift - 为什么使用 Self.self 打印 Self
问题描述
我在自定义视图中有此代码:
class AView: UIView {
func setup {
Bundle.main.loadNibNamed("\(Self.self)", owner: self, options: nil)
}
}
我预计这将加载 nib 文件名AView
,它在调试模式下没有问题。但是在发布模式下运行时,这会崩溃。
错误信息是:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: '_TtC10ATPlatformP33_BB740EC0B8824C2F1932C467ED63DEF214LanguageBundle </private/var/containers/Bundle/Application/B0094397-EC2C-4550-8981-0CF2DCFB580C/xxx.app> (loaded)' with name 'Self''
这意味着"\(Self.self)"
返回Self
的字符串。
我意识到当 set Swift Compiler - Code Generation
-> Optimization Level
to时[-Onone]
,它不会崩溃。
有谁知道为什么?
解决方案
推荐阅读
- jquery - 将 Mapael 版本从 0.7.1 更新到 2.2.0
- python - 使用 openPyxl 更改趋势线颜色
- php - Laravel 无法创建未找到的自定义 UserProvider 类
- xcode - React-Native 项目(无法连接到开发服务器)
- python - Numpy 向量化和加速
- r - 为什么我在优化函数中从 hessian 矩阵中得到负方差
- jquery - 使用 jquery + css无法获取标题属性
- c++ - 当对套接字 send() 的同步调用由于连接的另一端丢失而被阻塞时,如何恢复?
- mongodb - 如何从 mongodb 以相反的顺序正确输出对象数组?
- sql - 如何使用特定字符串为 select 语句的每个结果添加列?