为什么使用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使用的是测试版本的系统,升级系统为正式版本的系统之后,就没有这个问题了,在此记录一下,以防其它人也遇到同样的问题.