对于R.swift的理解及使用方法
2018-07-25 本文已影响0人
这个汤圆没有馅
R.swift是什么?
R.swift
是一款基于swift
开发的仿Android
资源引用的框架,它的原理类似于Android
的R机制
,相当于是哈希表的资源映射(有向Android同事了解过R机制
,不知道表述是否有误)。R.Swift
有着动态生成代码的机制,支持IDE
的代码自动补全。
R.swift的配置
1. cocoapods
里有beta版也有alpha版,可以选择稳定版本,创建podfile
文件后pod install
。
![](https://img.haomeiwen.com/i3109743/cdaf8a6aa8d734cc.png)
2.添加Run Script
文件
![](https://img.haomeiwen.com/i3109743/e57b796bf932f263.jpeg)
3.挪动Run Script
文件位置,在Mainfest.lock
和Compile Sources
之间。
![](https://img.haomeiwen.com/i3109743/5704cfbe23ad8ee5.jpeg)
4. Command + B,在工程目录里Show in Finder
,会发现多了一个R.generated.swift
![](https://img.haomeiwen.com/i3109743/e9ae378b86827a1b.jpeg)
5.将R.generated.swift
拖到项目中,不要勾选Destination
![](https://img.haomeiwen.com/i3109743/52c717307aeb9598.jpeg)
R.swift的使用
每一次项目中资源文件有变动的时候,都要执行一下Command+B,保证R.generated.swift
实时更新。包括.storyboard、.xib、图片等等。
1.关于image,拖入项目后编译通过会发现R.generated.swift
自动生成了关于该图片的代码
![](https://img.haomeiwen.com/i3109743/f8f1d381898d574b.jpeg)
// R.swift之前
let img1 = UIImage(named: "success")
// R.swift之后
let img2 = R.image.success()
同理,其他资源文件使用方法也是如此,更多可查看官网。
2.关于color,在颜色面板中按下述步骤自定义color,前往~/Library/colors
复制.clr
文件,导入工程中后编译一下。
![](https://img.haomeiwen.com/i3109743/08d75186dfaa3b55.jpeg)
![](https://img.haomeiwen.com/i3109743/e77be0c0e297c1b9.jpeg)
不知为何,我这边拖入.clr
文件后,R.color
并不会识别,但是能识别R.clr
,不过不影响使用。如果哪位亲有解决办法,麻烦告知一下,感激不尽。
// R.swift之前
self.view.backgroundColor = UIColor(red: 255/255.0, green: 95/255.0, blue: 90/255.0, alpha: 1)
// R.swift之后
self.view.backgroundColor = R.clr.test.red()