From 0d5ea3e5ae965fd0140936cf1f9becb4b50fc7bf Mon Sep 17 00:00:00 2001 From: AceVest Date: Wed, 8 Mar 2017 23:49:01 +0800 Subject: [PATCH] ... --- .../Classes.xcplaygroundpage/Contents.swift | 15 +++++++++- .../Contents.swift | 26 +++++++++++++++++- .../UserInterfaceState.xcuserstate | Bin 20863 -> 21297 bytes 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/learn/AcePlay/AcePlay.playground/Pages/Classes.xcplaygroundpage/Contents.swift b/learn/AcePlay/AcePlay.playground/Pages/Classes.xcplaygroundpage/Contents.swift index 7a81ad8..bc7279c 100644 --- a/learn/AcePlay/AcePlay.playground/Pages/Classes.xcplaygroundpage/Contents.swift +++ b/learn/AcePlay/AcePlay.playground/Pages/Classes.xcplaygroundpage/Contents.swift @@ -28,6 +28,19 @@ cinema.width = 2048 print("HD: \(hd.width)x\(hd.height)") print("Cinema: \(cinema.width)x\(cinema.height)") +// Enumeration 也是值类型 +enum CompassPoint: String { + case North + case South + case East + case West +} + +var originDirection = CompassPoint.East +var currentDirection = originDirection +currentDirection = .West +print("originDirection: \(originDirection) currentDirection: \(currentDirection)") + class VideoMode { var resolution = Resolution() @@ -58,4 +71,4 @@ if anotherTenEighty === tenEighty { if someVideoMode !== tenEighty { print("someVideoMode & tenEighty refer to different VideoMode instance") -} \ No newline at end of file +} diff --git a/learn/AcePlay/AcePlay.playground/Pages/Properties.xcplaygroundpage/Contents.swift b/learn/AcePlay/AcePlay.playground/Pages/Properties.xcplaygroundpage/Contents.swift index 24da0c4..d343e4d 100644 --- a/learn/AcePlay/AcePlay.playground/Pages/Properties.xcplaygroundpage/Contents.swift +++ b/learn/AcePlay/AcePlay.playground/Pages/Properties.xcplaygroundpage/Contents.swift @@ -27,6 +27,30 @@ printLine("Lazy Stored Properties") // lazy 属性在声明前加上 lazy 关键字 // 如果一个被标记为 lazy 的属性在没有初始化时就同时被多个线程访问,则无法保证该属性只会被初始化一次 +class DataImporter { + var name: String = "" + init() { + self.name = "DataImporter" + print("...\(self.name)...") + } +} + +class DataManager { + lazy var importer = DataImporter() + var data: Array = [] +} + +let dataManager = DataManager() +dataManager.data.append("Data_0") +dataManager.data.append("Data_1") +dataManager.data.append("Data_2") +// lazy 变量还未初始化 +print("the DataImporter instance for the importer property has not yet been created") + +// 主动调用才初始化 +dataManager.importer + + printLine("Computed Properties") @@ -94,4 +118,4 @@ class Cuboid { } let fourByFiveByTwo = Cuboid(width:4.0, height:5.0, depth:2.0) -print(fourByFiveByTwo.volume) \ No newline at end of file +print(fourByFiveByTwo.volume) diff --git a/learn/AcePlay/AcePlay.playground/playground.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate b/learn/AcePlay/AcePlay.playground/playground.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate index a5bd0eda41a23e5c276d7a45825adfa46ff6f58d..4a9ccd94eec012a448adcb0d43fe1d392dd1d5bc 100644 GIT binary patch delta 10907 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 delta 10816 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 -- 2.44.0