From c0efbfec4d422dfa252c9fbec861943366397b12 Mon Sep 17 00:00:00 2001 From: acevest Date: Sat, 4 Mar 2017 20:53:03 +0800 Subject: [PATCH] ... --- .../Contents.swift | 15 +++- .../Contents.swift | 77 ++++++++++++++++++ .../AcePlay.playground/contents.xcplayground | 1 + .../UserInterfaceState.xcuserstate | Bin 20006 -> 20112 bytes .../UserInterfaceState.xcuserstate | Bin 15257 -> 15372 bytes 5 files changed, 89 insertions(+), 4 deletions(-) create mode 100644 learn/AcePlay/AcePlay.playground/Pages/ControlFlow.xcplaygroundpage/Contents.swift diff --git a/learn/AcePlay/AcePlay.playground/Pages/CollectionTypes.xcplaygroundpage/Contents.swift b/learn/AcePlay/AcePlay.playground/Pages/CollectionTypes.xcplaygroundpage/Contents.swift index 993fb4c..78be21e 100644 --- a/learn/AcePlay/AcePlay.playground/Pages/CollectionTypes.xcplaygroundpage/Contents.swift +++ b/learn/AcePlay/AcePlay.playground/Pages/CollectionTypes.xcplaygroundpage/Contents.swift @@ -116,9 +116,9 @@ print(farmAnimals.isSuperset(of: houseAnimals)) print(farmAnimals.isDisjoint(with: cityAnimals)) // 是否无交集 printLine("Dictionary") -//var DictA = Dictionary() -//var DictB = ["KA":"VA", "KB":"VB", "KC":"VC"] -//var DictC: [String:String] = [:] +var DictA = Dictionary() +var DictB = ["KA":"VA", "KB":"VB", "KC":"VC"] +var DictC: [String:String] = [:] var DictD = [Int:String]() DictD[1] = "V1" @@ -135,6 +135,8 @@ for (k, v) in DictD { print("Key:", k, " Value: ", v) } +DictD[4] = nil // 4 has been removed from the Dictionary + for key in DictD.keys.sorted() { print(key) } @@ -143,5 +145,10 @@ for value in DictD.values.sorted() { print(value) } + +// 把keys 或 values 放到数组中 let keys = [Int](DictD.keys) -print(keys) \ No newline at end of file +let values = Array(DictD.values) +print(keys) +print(values) + diff --git a/learn/AcePlay/AcePlay.playground/Pages/ControlFlow.xcplaygroundpage/Contents.swift b/learn/AcePlay/AcePlay.playground/Pages/ControlFlow.xcplaygroundpage/Contents.swift new file mode 100644 index 0000000..781d883 --- /dev/null +++ b/learn/AcePlay/AcePlay.playground/Pages/ControlFlow.xcplaygroundpage/Contents.swift @@ -0,0 +1,77 @@ +//: [Previous](@previous) + +import Foundation + + +//: [Next](@next) + + +for index in 1...5 { + print("\(index) * 5 = \(index*5)") +} + +let base = 2 +let power = 10 +var answer = 1 + +for _ in 1...power { + answer *= base +} + +print("\(base) to power of \(power) is \(answer)") + + +while answer > 0 { + answer -= 10 +} + +print("Answer \(answer)") + +repeat { + answer += 10 +} while(answer < 1000) + +print("Answer \(answer)") + + +var r = arc4random_uniform(100) + +if r % 2 == 1 { + print("Odd Number \(r)") +} else { + print("Even Number \(r)") +} + + +r = arc4random_uniform(100) +if r < 60 { + print("Failed. Score: \(r)") +} else if r < 80 { + print("Good. Score: \(r)") +} else { + print("Perfect. Score: \(r)") +} + + +let approximateCount = arc4random_uniform(100) +let countedTings = "moon orbiting Saturn" +var naturalCount = "" + +switch approximateCount { +case 0: + naturalCount = "no" +case 1..<5: + naturalCount = "a few" +case 5: + fallthrough // 默认不走到下一个case +case 6..<12: + naturalCount = "several" +case 12..<100: + naturalCount = "dozens of" +case 100..<1000: + naturalCount = "hundreds of" +default: + naturalCount = "many" +} + +print("There are \(naturalCount) \(countedTings) [\(approximateCount)]") \ No newline at end of file diff --git a/learn/AcePlay/AcePlay.playground/contents.xcplayground b/learn/AcePlay/AcePlay.playground/contents.xcplayground index 9baedd5..a6a057a 100644 --- a/learn/AcePlay/AcePlay.playground/contents.xcplayground +++ b/learn/AcePlay/AcePlay.playground/contents.xcplayground @@ -8,5 +8,6 @@ + \ No newline at end of file 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 423c7fc3ef157c481ed35cc158f319e155aab355..35670e3b0b715ecb0994f30d1d0ef34db86ec9b2 100644 GIT binary patch literal 20112 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 TLf}{L*dLyr`waXoSpNS2Y2ZXT diff --git a/learn/AppleSwift/AppleSwift.xcodeproj/project.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate b/learn/AppleSwift/AppleSwift.xcodeproj/project.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate index 5079663a0e3f7fff8127c4e2fbe7669eb2b4868c..f58186fe55e17e8c3295ed30e447d57f34d8132b 100644 GIT binary patch delta 7954 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 D_2OA1 delta 7742 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