安全的资源组织方式

// 安全的资源组织方式

// 这种通过字符串来获取指定资源的方式,是存在隐患的。在 OC 我们可以通过宏定义来缓解

// 在 Swift 中 可以使用 enum 类型来字符创, 然后通过资源类型添加合适的 extension 来让编译器来帮助我们在资源啊名称修改是能在代码做成对应的改变

// 简单的例子

enum ImageName: String{

case myImage = "my_image"

}

enum SegueName: String {

case mySegue = "my_segue"

}

extension UIImage {

convenience init!(imageName: ImageName){

self.init(named: imageName.rawValue)

}

}

extension UIViewController {

func performSegue(withName segueName: SegueName, sender: Any?){

performSegue(withIdentifier: segueName.rawValue, sender: sender)

}

}

let image = UIImage(imageName: .myImage)

UIViewController.init().performSegue(withName: .mySegue, sender: nil)

// 类似的框架有  R.swift,  SwiftGen

/*

https://github.com/mac-cain13/R.swift

https://github.com/AliSoftware/SwiftGen

*/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容