美文网首页
Swift中全局常量的书写(Struct)

Swift中全局常量的书写(Struct)

作者: _Choice_ | 来源:发表于2017-04-07 09:59 被阅读1381次

    Objective-C

    在OC中经常会用到一些静态常量。
    比如

    static NSString *const tableviewCellIdentifer = @"tableviewCellIdentifer";```
    
    使用的时候
    

    extern NSString *tableviewCellIdentifer;```

    Swift

    在Swift中,我们可以利用Struct来实现全局常量。

    struct Constants {
        static let someNotification = "TEST"
    }```
    在使用的时候就可以直接点出来。
    

    print(Constants.someNotification)```

    在具体使用中Struct 也可以这样:

    struct Key {
        struct NotificationKey {
            static let Welcome = "kWelcomeNotif"
        }
    
        struct Path {
            static let Documents = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
            static let Tmp = NSTemporaryDirectory()
        }
    }```
    
    例如AppColor类中,将一些基本设置写好,在使用的时候可以直接调用
    

    struct AppColor {

    private struct Alphas {
        static let Opaque = CGFloat(1)
        static let SemiOpaque = CGFloat(0.8)
        static let SemiTransparent = CGFloat(0.5)
        static let Transparent = CGFloat(0.3)
    }
    
    static let appPrimaryColor =  UIColor.white.withAlphaComponent(Alphas.SemiOpaque)
    static let appSecondaryColor =  UIColor.blue.withAlphaComponent(Alphas.Opaque)
    
    struct TextColors {
        static let Error = AppColor.appSecondaryColor
        static let Success = UIColor(red: 0.1303, green: 0.9915, blue: 0.0233, alpha: Alphas.Opaque) 
    }
    
    struct TabBarColors{
        static let Selected = UIColor.white
        static let NotSelected = UIColor.black
    }
    
    struct OverlayColor {
        static let SemiTransparentBlack = UIColor.black.withAlphaComponent(Alphas.Transparent)
        static let SemiOpaque = UIColor.black.withAlphaComponent(Alphas.SemiOpaque)
        static let demoOverlay = UIColor.black.withAlphaComponent(0.6)
    }
    

    }```

    Swift提供的Struct 的用法与通过点语法访问属性用法一致,方便的是不需要再去声明创建一个类,并且可以将 Struct 分类归类的写在一个地方。这无疑要比OC中大段大段的Prifix文件要优雅的多。

    相关文章

      网友评论

          本文标题:Swift中全局常量的书写(Struct)

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