From 02f98de3220d0086ca11c9cd89761856e2563d49 Mon Sep 17 00:00:00 2001 From: ostrichb Date: Sat, 12 Nov 2022 03:23:56 +0000 Subject: [PATCH] initial --- .gitignore | 26 +++++++ Task1_practice.playground/Contents.swift | 26 +++++++ .../contents.xcplayground | 4 ++ .../contents.xcworkspacedata | 7 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 16927 bytes Task1_practice.playground/timeline.xctimeline | 10 +++ Task2_pracitce.playground/Contents.swift | 22 ++++++ .../contents.xcplayground | 4 ++ .../contents.xcworkspacedata | 7 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 16331 bytes Task2_pracitce.playground/timeline.xctimeline | 10 +++ .../xcschemes/xcschememanagement.plist | 16 +++++ Task3_practice.playground/Contents.swift | 14 ++++ .../contents.xcplayground | 4 ++ .../contents.xcworkspacedata | 7 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 15588 bytes Task3_practice.playground/timeline.xctimeline | 26 +++++++ Task4_practice.playground/Contents.swift | 68 ++++++++++++++++++ .../contents.xcplayground | 4 ++ .../contents.xcworkspacedata | 7 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 17083 bytes Task4_practice.playground/timeline.xctimeline | 26 +++++++ .../xcschemes/xcschememanagement.plist | 16 +++++ Task5_practice.playground/Contents.swift | 51 +++++++++++++ .../contents.xcplayground | 4 ++ .../contents.xcworkspacedata | 7 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 19230 bytes Task5_practice.playground/timeline.xctimeline | 30 ++++++++ 28 files changed, 396 insertions(+) create mode 100644 .gitignore create mode 100644 Task1_practice.playground/Contents.swift create mode 100644 Task1_practice.playground/contents.xcplayground create mode 100644 Task1_practice.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Task1_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Task1_practice.playground/timeline.xctimeline create mode 100644 Task2_pracitce.playground/Contents.swift create mode 100644 Task2_pracitce.playground/contents.xcplayground create mode 100644 Task2_pracitce.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Task2_pracitce.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Task2_pracitce.playground/timeline.xctimeline create mode 100644 Task2_pracitce.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Task3_practice.playground/Contents.swift create mode 100644 Task3_practice.playground/contents.xcplayground create mode 100644 Task3_practice.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Task3_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Task3_practice.playground/timeline.xctimeline create mode 100644 Task4_practice.playground/Contents.swift create mode 100644 Task4_practice.playground/contents.xcplayground create mode 100644 Task4_practice.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Task4_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Task4_practice.playground/timeline.xctimeline create mode 100644 Task4_practice.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Task5_practice.playground/Contents.swift create mode 100644 Task5_practice.playground/contents.xcplayground create mode 100644 Task5_practice.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Task5_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Task5_practice.playground/timeline.xctimeline diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..135767f --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk diff --git a/Task1_practice.playground/Contents.swift b/Task1_practice.playground/Contents.swift new file mode 100644 index 0000000..9d2e048 --- /dev/null +++ b/Task1_practice.playground/Contents.swift @@ -0,0 +1,26 @@ +import Foundation + +// Write your code here... + +func varProcessor(_ n: Any) { + let nInt = n as? Int ?? 0 // 如果n是整形数,nInt将会被赋予n的值 + let nString = n as? String ?? "" // 如果n是字符串,nString将会被赋予n的值 + switch n { + case is Int: + // 如果n是整形,这里的代码将会被执行 + // Write your code here... + case is String: + // 如果n是字符串,这里的代码将会被执行 + // Write your code here... + default: + print("An error occurred.") + } +} + +// 测试用,不需要改动 + +let test: [Any] = [0, 2, 0.2, "Hello"] + +for item in test { + varProcessor(item) +} diff --git a/Task1_practice.playground/contents.xcplayground b/Task1_practice.playground/contents.xcplayground new file mode 100644 index 0000000..1c968e7 --- /dev/null +++ b/Task1_practice.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Task1_practice.playground/playground.xcworkspace/contents.xcworkspacedata b/Task1_practice.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ca3329e --- /dev/null +++ b/Task1_practice.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Task1_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate b/Task1_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..f7e316577577b10a45c94fc4f3ce66a87cccafa1 GIT binary patch literal 16927 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 literal 0 HcmV?d00001 diff --git a/Task1_practice.playground/timeline.xctimeline b/Task1_practice.playground/timeline.xctimeline new file mode 100644 index 0000000..8eef80a --- /dev/null +++ b/Task1_practice.playground/timeline.xctimeline @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Task2_pracitce.playground/Contents.swift b/Task2_pracitce.playground/Contents.swift new file mode 100644 index 0000000..b339d7c --- /dev/null +++ b/Task2_pracitce.playground/Contents.swift @@ -0,0 +1,22 @@ +import Foundation + +func varProcessor(_ n: Any, /* Write your code here */) { + let nInt = n as? Int ?? 0 // 如果n是整形数,nInt将会被赋予n的值 + let nString = n as? String ?? "" // 如果n是字符串,nString将会被赋予n的值 + switch n{ + case is Int: + // 如果n是整型,这里的代码将会被执行 + // Write your code here... + case is String: + // 如果n是字符串,这里的代码将会被执行 + // Write your code here... + default: + print("An error occurred.") + } +} + +let test: [Any] = [0, 2, 0.2, "Hello"] + +for item in test { + varProcessor(item, /* Write your code here */) +} diff --git a/Task2_pracitce.playground/contents.xcplayground b/Task2_pracitce.playground/contents.xcplayground new file mode 100644 index 0000000..1c968e7 --- /dev/null +++ b/Task2_pracitce.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Task2_pracitce.playground/playground.xcworkspace/contents.xcworkspacedata b/Task2_pracitce.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ca3329e --- /dev/null +++ b/Task2_pracitce.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Task2_pracitce.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate b/Task2_pracitce.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..4523bf6307e23bb4bf9aac2518b28bea384fefef GIT binary patch literal 16331 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 + + + + + + diff --git a/Task2_pracitce.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist b/Task2_pracitce.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..39eaece --- /dev/null +++ b/Task2_pracitce.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,16 @@ + + + + + SchemeUserState + + Task2_pracitce (Playground).xcscheme + + isShown + + orderHint + 0 + + + + diff --git a/Task3_practice.playground/Contents.swift b/Task3_practice.playground/Contents.swift new file mode 100644 index 0000000..49abc89 --- /dev/null +++ b/Task3_practice.playground/Contents.swift @@ -0,0 +1,14 @@ +import Foundation + +struct Entity { + // Write your code here +} + +// 以下的内容将能够判断名为 ID 的字符串是否满足13位数字的情况,可以直接照搬 +// let reFormula = try! NSRegularExpression(pattern: "^\\d{13}$", options: [NSRegularExpression.Options.anchorsMatchLines]) +// let matchRange = NSRange(ID.startIndex.. + + + \ No newline at end of file diff --git a/Task3_practice.playground/playground.xcworkspace/contents.xcworkspacedata b/Task3_practice.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ca3329e --- /dev/null +++ b/Task3_practice.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Task3_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate b/Task3_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..ba6d53ab2f15194f228a437047e4312fe1680b5c GIT binary patch literal 15588 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 XV%JdD@QBAq#7~JW;wnZyTy6gYt);8( literal 0 HcmV?d00001 diff --git a/Task3_practice.playground/timeline.xctimeline b/Task3_practice.playground/timeline.xctimeline new file mode 100644 index 0000000..255d579 --- /dev/null +++ b/Task3_practice.playground/timeline.xctimeline @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + diff --git a/Task4_practice.playground/Contents.swift b/Task4_practice.playground/Contents.swift new file mode 100644 index 0000000..b010ab3 --- /dev/null +++ b/Task4_practice.playground/Contents.swift @@ -0,0 +1,68 @@ +import Foundation + +class Entity { + // Write your code here + func verify() -> Bool { + // Write your code here + } +} + +class Student: Entity { + override func verify() -> Bool { + // Write your code here + } +} + +class Cat: Entity { + override func verify() -> Bool { + // Write your code here + } +} + +// 以下的内容将能够判断名为 ID 的字符串是否满足13位数字,以20xx开头,第5位为1-3的情况,可以直接照搬 +// let reFormula = try! NSRegularExpression(pattern: "^20\\d{2}[1-3]\\d{8}$", options: [NSRegularExpression.Options.anchorsMatchLines]) +// let matchRange = NSRange(ID.startIndex.. + + + \ No newline at end of file diff --git a/Task4_practice.playground/playground.xcworkspace/contents.xcworkspacedata b/Task4_practice.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ca3329e --- /dev/null +++ b/Task4_practice.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Task4_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate b/Task4_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..5e9ee244ed17f67388773609666e285a0fab7fef GIT binary patch literal 17083 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 + + + + + + + + + + + + + + diff --git a/Task4_practice.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist b/Task4_practice.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..227c1fb --- /dev/null +++ b/Task4_practice.playground/xcuserdata/ostrichb.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,16 @@ + + + + + SchemeUserState + + Task4_practice (Playground).xcscheme + + isShown + + orderHint + 0 + + + + diff --git a/Task5_practice.playground/Contents.swift b/Task5_practice.playground/Contents.swift new file mode 100644 index 0000000..f50ef01 --- /dev/null +++ b/Task5_practice.playground/Contents.swift @@ -0,0 +1,51 @@ +import Foundation + +// 把 task 4 得成果贴过来,在 task 4 的基础上继续往下写 + +// 以下的内容将能够判断名为 ID 的字符串是否满足13位数字,以20xx开头,第5位为1-3的情况,可以直接照搬 +// let reFormula = try! NSRegularExpression(pattern: "^20\\d{2}[1-3]\\d{8}$", options: [NSRegularExpression.Options.anchorsMatchLines]) +// let matchRange = NSRange(ID.startIndex.. + + + \ No newline at end of file diff --git a/Task5_practice.playground/playground.xcworkspace/contents.xcworkspacedata b/Task5_practice.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ca3329e --- /dev/null +++ b/Task5_practice.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Task5_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate b/Task5_practice.playground/playground.xcworkspace/xcuserdata/ostrichb.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..8b82800c44a3abac6074a7576c29c06fec47b532 GIT binary patch literal 19230 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 literal 0 HcmV?d00001 diff --git a/Task5_practice.playground/timeline.xctimeline b/Task5_practice.playground/timeline.xctimeline new file mode 100644 index 0000000..f01073e --- /dev/null +++ b/Task5_practice.playground/timeline.xctimeline @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + +