为什么使用R.swift
R.swift
可以获取强类型、自动完成的资源,如图像、字体和段落完全类型化。更少的强制转换和猜测方法将返回什么编译时检查,运行时不再有导致应用程序崩溃的错误字符串自动完成,再也不用怀疑图片名字是不是复制错了。
R.swift
的安装步骤(这里主要讲使用cocoapods
的方式安装)
在你的podfile
文件中添加R.swift
pod 'R.swift'
终端执行pod install
命令
添加相关配置
-
点击添加
- 按照如下图方式,将该文件放到
compile source
和check pods
之间
- 按照下图,添加对应项,对应要添加的内容如下
"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/mm/Resources/R.generated.swift"
$TEMP_DIR/rswift-lastrun
$SRCROOT/mm/Resources/R.generated.swift
添加完成,Command+B
编译工程、会在工程目录下自动生成R.generated.swift
文件
将R.generated.swift
文件拖入到项目中,记住不要勾选Copy items if needed
R.swift
的具体使用
老的使用方法
let icon = UIImage(named: "settings-icon")
let font = UIFont(name: "San Francisco", size: 42)
let color = UIColor(named: "indictator highlight")
let viewController = CustomViewController(nibName: "CustomView", bundle: nil)
let string = String(format: NSLocalizedString("welcome.withName", comment: ""), locale: NSLocale.current, "Arthur Dent")
R.swift
方法
let icon = R.image.settingsIcon()
let font = R.font.sanFrancisco(size: 42)
let color = R.color.indicatorHighlight()
let viewController = CustomViewController(nib: R.nib.customView)
let string = R.string.localizable.welcomeWithName("Arthur Dent")
遇到的问题
在导入
R.swift
的时候,出现导入图片后,编译报错Distill failed for unknown reasons
,起初以为是图片重复了,但是反复检查后,发现图片没有重复,最后发现读者的mac
使用的是测试版本的系统,升级系统为正式版本的系统之后,就没有这个问题了,在此记录一下,以防其它人也遇到同样的问题.