安全的资源组织方式

在Swift中是没有宏定义的,但是我们可以灵活的使用rawValue为String的enum类型来代替字符串,然后通过为资源类型添加合适的extension来让编译器帮助我们在资源名称修改时能在代码中做出对应的改变

enum ImageName: String {
    case MyIcon = "my_icon"
}

enum SegueName: String {
    case MySegue = "my_segue"
}

extension UIImage {
    convenience init!(imageName: ImageName) {
        self.init(named: imageName.rawValue)
    }
}

extension UIViewController {
    func performSegueWithSegueName(segueName: SegueName, sender: AnyObject?) {
        performSegue(withIdentifier: segueName.rawValue, sender: sender)
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第七讲:机械能守恒定律 数学符号 滑动摩擦系数为 对应的代码为 $\mu$ 知识点 势能重力势能: 弹性势能:万有...
    橘子汽水_900阅读 415评论 1 2
  • 他在盛春 写诗 江国参差色 夜落雪纷纷 她说 春不浓着么 还雪呀 夜里 虫鸣蛙叫啦
    雪莉诗话阅读 213评论 2 8
  • 熊孩子,常形容调皮的孩子,岁数小不懂事,无法无天经常惹人不开心的小孩子。其实顽皮是一种天性,没有哪个小孩子天生懂事...
    JOVI乔欧力阅读 243评论 0 0
  • 人生若只如初见,何事秋风悲画扇。 等闲变却故人心,却道故人心易变。 骊山语罢清霄半,泪雨霖铃终不怨。 何如薄幸锦衣...
    equally阅读 478评论 0 5
  • 今年大概回家有点早了,拖着行李箱离开办公室的时候,大家一起挥手跟我道别的时候,突然有点不适应。从17楼匆匆夺门而出...
    不可分类者bubble阅读 199评论 0 0

友情链接更多精彩内容