R.swift 是一个Mac上面终端程序,采用Swift编写并作用于Swift,R.swift 最终会生成一个名字叫做 R.generated.swift 的类文件。它是一个强类型资源调用工具。
在iOS开发中,资源的调用方面一直是不太严谨的。 比如说,我们要在代码中初始化一个 UIImage。那么通常的做法是:
let image = UIImage(named: "Toolbar_OK_On")传入的参数是以字符串的方式传入,那么这个字符串便是我们要讨论的不严谨的地方,它有哪些风险呢?
1:编写代码时不一小心手误,写错了(当时的你可能不知道)。
2:根据项目情况,资源增多,需要对资源的名称重写整理和维护,也就是要修改。
3:这个资源已经不再需要使用,可以删除了。
那么遇到上面讲到的情况,我们就需要对曾经写过的代码进行对应的检查和修正。但是,这需要开发者自己养成好习惯,才能防止一个新的BUG产生,或者是一段没用得代码被编译。
而R.swift的出现彻底解决了资源调用不严谨的问题,通过 R.swift 生成的代码在Xcode编译时即可检查出资源使用上是否存在安全隐患。为此,你必须修正你的代码,否则,你是编译不过去的!