美文网首页
swift图片名提示和检查——SwiftGen的使用

swift图片名提示和检查——SwiftGen的使用

作者: 逆风启航_ | 来源:发表于2018-12-12 16:37 被阅读0次

问题

我们swift编程的时候,图片一般是放到Assets.xcassets里的,使用的时候是这样的:UIImage(named: "lalalala")。那如果我不小心写成了"lblblblb",或者是图片已经被移除了,代码是不会检查或报错的。

那要解决这个问题,把图片名放到代码(如enum)里就好了啊。那好,我们把图片名写到enum里,难道我们要对着Assets.xcassets,把图片名一个一个码带enum吗?NONONO,这样的事让脚步来做吧。那好,来,我们现在来写个脚步。别急啊,先去交友网站看看有没有已经实现好了的,果然就找到了SwiftGen:https://github.com/SwiftGen/SwiftGen

那好,那我们就讲解下SwiftGen的使用。

1、安装SwiftGen,看了一下说明文档,发现有 pod 'SwiftGen' ,懒人福音啊。好我们就用CocoaPods方式安装吧,把pod 'SwiftGen'写到Podfile里,pod install。安装完成。

2、配置一下SwiftGen。首先给我们项目的target添加一个Run Script。如图:

添加Run Script

3、添加脚本,如下:

INPUT_DIR=$PROJECT_DIR/$PROJECT_NAME/Assets.xcassets
OUTPUT_DIR=$PROJECT_DIR/$PROJECT_NAME/AssetsCode
OUTPUT_NAME=Asset.swift

mkdir -p "$OUTPUT_DIR"

if which "$PROJECT_DIR"/Pods/SwiftGen/bin/swiftgen >/dev/null;
then
set -e
"$PROJECT_DIR"/Pods/SwiftGen/bin/swiftgen xcassets -t swift4 "$INPUT_DIR" --output "$OUTPUT_DIR/$OUTPUT_NAME"
else
echo "##run echo warning: SwiftGen not installed, download it from https://github.com/SwiftGen/SwiftGen"
fi

添加后的如图:

 添加脚本

4、编译一下。在Assets.xcassets的同级目录下回多一个文件夹AssetsCode。如图:

生成的文件夹

5、把文件夹添加到项目里。

添加到项目里
添加到项目后

6、使用,例如:

let image = UIImage(named: Asset.buoyNotice.name)

button.setImage(image, for: UIControl.State.normal)

呐呐呐呐,看到没,提示! 呐呐呐呐,看到没,图片!

7、图片的更新。以后每次编译代码是,脚本都会自动检查Assets.xcassets里的图片,并且生成最新的Asset.swift。就不用担心图片缺失或者写成图片名啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦。

相关文章

  • swift图片名提示和检查——SwiftGen的使用

    问题 我们swift编程的时候,图片一般是放到Assets.xcassets里的,使用的时候是这样的:UIImag...

  • Swift4.2 如何优雅地使用 UIImage

    推荐第三方库SwiftGen和R.swift 如果不想用第三方库,可以参考如下写法 使用示例 并且有提示

  • R.Swift 和SwiftGen

    解决图片文字输入问题 https://github.com/mac-cain13/R.swifthttps://g...

  • OC&swift中的宏定义

    在使用OC和swift进行混编时,我们经常会需要在swift中使用OC中的宏定义,但是这些宏定义经常会提示无法找到...

  • 如何快速集成SwiftGen

    这是一个简单快速的方法集成SwiftGen到我们的Swift项目里面用于管理项目里面的资源文件(图片,字体,颜色等...

  • Swift 5.1 (17) - 类型转换与模式匹配

    类型转换在Swift中使用is和as操作符实现。 类型检查 使用操作符is检查一个实例是否是某个确定的类以及其继承...

  • Checking API Availability With S

    title: "使用 Swift 检查 API 可用性"date: 2015-8-24tags: [Swift]c...

  • 浅谈Swift编译检查

    Swift编译检查 使用Swift进行编码时候, 编译器会自动检查Cocoa的方法是否符合开发的最低版本. 比如你...

  • OC 与 Swift 混编

    Swift 中使用OC: 创建一个Swift项目, 在Swift项目中添加一个OC的类,会提示是否建立桥接文件, ...

  • 混编

    1.OC项目中使用swift 1)拖入swift文件,根据提示生成桥接文件OCDemo-Bridging-Head...

网友评论

      本文标题:swift图片名提示和检查——SwiftGen的使用

      本文链接:https://www.haomeiwen.com/subject/mjkphqtx.html