Objective-C
在OC中經(jīng)常會(huì)用到一些靜態(tài)常量勇垛。
比如
static NSString *const tableviewCellIdentifer = @"tableviewCellIdentifer";```
使用的時(shí)候
extern NSString *tableviewCellIdentifer;```
Swift
在Swift中筐乳,我們可以利用Struct
來(lái)實(shí)現(xiàn)全局常量合搅。
如
struct Constants {
static let someNotification = "TEST"
}```
在使用的時(shí)候就可以直接點(diǎn)出來(lái)铲掐。
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類中渣蜗,將一些基本設(shè)置寫好焙畔,在使用的時(shí)候可以直接調(diào)用
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
的用法與通過(guò)點(diǎn)語(yǔ)法訪問(wèn)屬性用法一致蓄髓,方便的是不需要再去聲明創(chuàng)建一個(gè)類,并且可以將 Struct
分類歸類的寫在一個(gè)地方裹匙。這無(wú)疑要比OC中大段大段的Prifix文件要優(yōu)雅的多瑞凑。