R.swiftDemo

Get strong typed, autocompleted resources like images, fonts and segues in Swift projects

Posted by kunnan on May 4, 2017

什么是 R.swift

Get strong typed, autocompleted resources like images, fonts and segues in Swift projects

  • Fully typed, less casting and guessing what a method will return
  • Compile time checked, no more incorrect strings that make your app crash at runtime 保证类型安全
  • Autocompleted, never have to guess that image name again 自动补全

导入 R.swift

  • 1)、使用 CocoaPods 导入项目中
    devzkndeMacBook-Pro:KNRswiftDemo devzkn$ pod init 
    devzkndeMacBook-Pro:KNRswiftDemo devzkn$ pod install
    Installing R.swift (4.0.0)
    Installing R.swift.Library (4.0.0)
    
  • 2) 添加一个 New Run Script Phase
    "$PODS_ROOT/R.swift/rswift" generate  "$SRCROOT/KNRswiftDemo"
    #/Users/devzkn/code/github/blog/KNRswiftDemo/Pods/R.swift/rswift
    
  • 3) Command+B 编译项目,在项目代码目录下,会生成一个 R.generated.swift 的文件,将它拖如项目中
      KNRswiftDemo/R.generated.swift
    注意:不要勾选 `Copy items if needed` 选项,因为每次编译都会生成新的 `R.generated.swift` 文件,copy 的话,旧的 `R.generated.swift` 将不会被覆盖。
    

tip: 可以在添加 .gitignore 添加一行 *.generated.swift 忽略该文件,避免造成冲突

touch .gitignore
devzkndeMacBook-Pro:KNRswiftDemo devzkn$ echo "*.generated.swift" >> .gitignore

用法

*导入完成后,就可以在使用 R.swift 了

       self.testImageView.image = R.image.appleTouchIcon();

关于 R.swift 的更多用法,可以 看这里

  • 注意:
    每次导入新的图片的时候,记得重新build,即重新生成	modified:   KNRswiftDemo/ViewController.swift
     static let appleTouchIcon = Rswift.ImageResource(bundle: R.hostingBundle, name: "apple-touch-icon")
    

用法演示:KNRswiftDemo

转载请注明: > R.swiftDemo