From 319a295816cf9cd1865a2a6961ae987857c4cbc8 Mon Sep 17 00:00:00 2001 From: jiulinxiri Date: Fri, 3 Dec 2021 12:04:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Contents.swift | 3 - .../contents.xcplayground | 4 - .../UserInterfaceState.xcuserstate | Bin 12524 -> 10849 bytes .../timeline.xctimeline | 6 - .../01 注释.xcplaygroundpage/Contents.swift | 25 ++++ .../Contents.swift | 116 ++++++++++++++++++ SwiftStudy.playground/contents.xcplayground | 7 ++ .../contents.xcworkspacedata | 7 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 23286 bytes .../xcschemes/xcschememanagement.plist | 16 +++ 10 files changed, 171 insertions(+), 13 deletions(-) delete mode 100644 Expressions-Variables-Constants.playground/Contents.swift delete mode 100644 Expressions-Variables-Constants.playground/contents.xcplayground delete mode 100644 Expressions-Variables-Constants.playground/timeline.xctimeline create mode 100644 SwiftStudy.playground/Pages/01 注释.xcplaygroundpage/Contents.swift create mode 100644 SwiftStudy.playground/Pages/02 数据类型.xcplaygroundpage/Contents.swift create mode 100644 SwiftStudy.playground/contents.xcplayground create mode 100644 SwiftStudy.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 SwiftStudy.playground/playground.xcworkspace/xcuserdata/jiulinxiri.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SwiftStudy.playground/xcuserdata/jiulinxiri.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Expressions-Variables-Constants.playground/Contents.swift b/Expressions-Variables-Constants.playground/Contents.swift deleted file mode 100644 index 9d86688..0000000 --- a/Expressions-Variables-Constants.playground/Contents.swift +++ /dev/null @@ -1,3 +0,0 @@ -import UIKit - -var greeting = "Hello, playground" diff --git a/Expressions-Variables-Constants.playground/contents.xcplayground b/Expressions-Variables-Constants.playground/contents.xcplayground deleted file mode 100644 index 7627317..0000000 --- a/Expressions-Variables-Constants.playground/contents.xcplayground +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Expressions-Variables-Constants.playground/playground.xcworkspace/xcuserdata/jiulinxiri.xcuserdatad/UserInterfaceState.xcuserstate b/Expressions-Variables-Constants.playground/playground.xcworkspace/xcuserdata/jiulinxiri.xcuserdatad/UserInterfaceState.xcuserstate index b376b245a2e05fba280affd0cf23a3aeb7aef045..f365b41ffd95ba8cd0d91f309406e25059443c70 100644 GIT binary patch delta 5234 zcmaJ^30zdw_rK@PFiXrT^JaT9^N>MML_`r6)PO|X5Eld$R2pPN6hUD~&1H_c@5|HN ziA8bG-3*spGBr(eE6uFT?N_O#EmoHO@63q(`}P0)d7ruW-OIh_oOizGe9yi2T{rtJ zdKErj?CRq6k~hdyGMmgHONdC8l4WECSxwfEwWNa7k_}`d*+SkS`^mecjvOEd$sux> zyid-N^Wt8^$Wpd;x7>ZMcZG`ff`rc0XBc(TTyWFa!Hx7WT(D(IojC;>4dMU0K^v`mCXg z#}3HA=%QHCc|_oQ-Xq6r$Psds9K(*- z3Aqx_2oW_7v4gTa^)k8ouf^BM zXXHAjU}sFlIA`K>w+tnrjVKAdNWNkYxkKG8#jyjCydRSvdP#M;t`dR zwrt8ePJEy;d55sj9Z5W70-43AW*!To6%5f0%)xueK1MHfj9QM9vkdLe8I{~8-;+n= zM@Aibut6h;hUSbgIzo5o$ylNQMg+{H5a>zV^Zt1UUhERU|2DZZ*oS^j0Dk7G8giT5 zC28zqQrM^-um3QGQMC-OZ^?J$6nQ`%GSs?ZcTB<_m{v=EVCFm~KeF}__QZ7Tg?(6? z?!z(6k7Ga09Pcv*%3nZypm++IH?>q zW#7QqM2=VD^LHzg0z3}zNl9i#zd|~Z6bMCv4RBztE@xO_kvpMzbFqr=*R5WU6Pl8! z4G_-Ih=53F3{4;kb8rw2#vz!CucB)MgQ*!A#Gq*ID`(^AN7 z)iyRdv_*WoNztJb+O=lyt=qJkG^t)mN9gQR@-ies5+uVb&jL5+|b<-(V`HGTKbg&uN$i*({%+KMa6@ScIdnxCU}y5Ddl=oPZPA zsyq5VO@_j7mhzAfZWsmyI2y-bDVD8+LKp!fp%6V-j<2ycPRwmkpezFqF;-SG7Chg; zsUHWgGj4?OIJOEV;5h#*ue?aK;01&!Vq}QJ{5p>BrH3!_Mi&*9d17NP1C>aFEY?tQ za7ahmfD_k*bOF8C(Ga1z*H5p1q=SocMTn}(Al`I@NiP~rX0d}Ivi-eGOJaT;i==y5 zJ09<==Izxso3lRJs~v(fX-r_`Oqw#z|5nwI2?|qHIemh}BZfw4Cm8jdB@bCX$$$d~ zLoW)Nu_D}#Ik<;EqxuD8yvV2UdJTadUJC^0G?*?n=bB1pz)W#4w}`pXX{m>94$Nb5 z2y<~#6%1l-juU0ZcKRi-)Hf?4R>3ly!e)CLqr5BqvG~IDdJ$`3Gl|*?74Q~RLKRd) z4XlIpPzxJiBW%KHI2~u;Oq_+YaSqPKc{m>z;KHr21-8OAc$?(G4%i91U^g4>g?+dP z7voy2U?s8=tFRikv(XOxfRXs_-;IMI?*lmHGwviVse;oe`jT0nlGQJRA?C>{bdT-k zagQnsWY0(Bcr~1Z^SBgOyJ*{1*CYPM+&M(66Z-BLQIxbw;j3f!g1rEZrqXX+}~8t2z!wfH zbeCrORbegj?goFPowLd$A=Dr~wF;7I%89>Oqm^d1(E_2A7h`yfW*}}xc4B1JpE{@@ zj^>SQVW?Ql+YDjUNyD>8Gs81HrG>=>xDB_875v~Pk+g9R!z7h4lK-=46O#77Cj#P{ z(r7W<)(o17eQojX<}^0&&3^1?9AiS-3U|K1jkcjLGq$H~X*-%g+tUuTBksc8xCi&* zK76N^CekFD%-T+j#rEU7c!aeld>oeDIls_TQrfd5-!0y>6*o+$eHqixUbHvugLQZS z57y8Oc2LX1L(DJDS-6k3Cne_ioH+;&qw@muM=rh>Fxo})e07%{1*@s+IlpRsN{ z%BY$SXR8b82yusC3qOYMU!_HK6fLGDYKJ$&Q>j_(>aVH=?prP z&Z4vNB%Z?4_~AM_m(C-P=mI>0AF~>G4dVu+xrg~vMpT8HQ?t`t<4ejtJ}(XITUapM z|DWgKPnXeEKACUQ<#YvIiD&U6JcsAkv9oO+JJC6rmz!f#mI!fTX82?;T~9Z#9Hq5* zp^9$Ai~moK(yc5<={EW{UcyiQ#(F2+``_tC_Yo)EkC&O2D;WL4c4ty)r9aK;O+7@t zNB_0=7~A_ke#-V<#pu63&zUqX=^vX<(=$H9Kg7?fSU9jyVC2%Nq`0i4$jyS;3*cAjPo@Q6jq%rL!wg4joK$sf!M!Bj|Lximss* z?Ba8hUZPj&J^C$uBvDJ6OIk?cB=M5olHrn3l8F+pWSV5LWU1d#jDi9^8S=bmo!9p& zslhHpK`bPUM3WXIfh3YXB#TAJ5Ne?Uji#;qM)Y8}v0k(v&0;sQY?cozSg`D&`{;gl z-#SPS(Ie3pEfe3g8Syh2_h zUoYPv-z48IKP*2fzahUZeXpOx+%Q*isg#6idw}+ z#ZJY3MV;cH;;`a~;v>an#V3lZiq8}`6}J?36!#S0C>tn~lts#N)#2(mb%MH+I#u0O-Cf;Z zovj|E&Q-hAL)As<67?8$nR=pnlG>}DrJk#vuU@ELqpna_s;f0bqt@6o4o#>gOcSn& z&@|RWY1(PpYdUHYHOZPzn$DUonr@l_nw6Skng?31R@+pYsLwUgLjigv1Yx^|{^ zwsx*|m3ED`LR+b=)~?gmYBy>(YY%BZ*51}W(FN-qx@cWHU6SqU0NnCv+!ur*&s^AL-8P?&^Nmhv;MU?e!h>9rcO&Y<+=O zKSE!mFVTR z;S0l8hFgX^hI?EvXW%%_#D#LrxKyqy*PTn_(z)JTU#=gQ#SP%Hxk20zZY(#Ro4`%t zyxbISDmR^*$<5~Ga`U-`oOdy|hdaex;(jqYjq%1F#xcgF#v0=R;|1egTXIirJH)2hL}d0CYxrN7Mm(e>rER> zn@n3wyG(mb`%L>yb*8hXE2d9Pw@tsAgUxEQ(Hv%uG{>1=HuvzF)66~1z0AYS6U=kW z)#knC3+7AaE9Otl*UZ<=H!NC<*}_}w7Qqs2X=CYVNwg$eI$7M7V#|EX63b3Yo#mwE zlI4cwOUq5mEz5l?waTq_YlO9hHO?Auoo8KUt+LiycUccu?^?g(jl7c&=Ns{nd@LWw z$MbD?ZwlXs&)_rp{`^2bhab$3;EVWTel%aod-&J*ar{(%IlqlRz@Oyr@!#;j@PG1u z*}x{Ty<}6_G&Y^Bfi2ROU`w-Q+6LINZG&ts+fZAPt;{ygHpMp0Hp4c{w%E4S_O@+@ z?Sk!rU2k{VlkJ&ym)&chVxMZC?zPXf&$iFC&$lnMudr{o@3Eh;U$)=3KXND?yrZ$B zg(J=p?`Y#_=Xk}D;z)ILb#!;6IWiri9OE2sI2JlqI9555f?kLc+6W0k2O&{N7CH(2g;xc)P#_cvBZYB-SC}G96{ZXQ=LrjhMZywcsjyb4 z6?O}C!a?D%a6~vMoEFXq9|`A$Yr@yU_rhc0C*g_koA5ML8)^<;9bj-upZ6C7eSI6g G_J05d`2TAF delta 6540 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 diff --git a/Expressions-Variables-Constants.playground/timeline.xctimeline b/Expressions-Variables-Constants.playground/timeline.xctimeline deleted file mode 100644 index bf468af..0000000 --- a/Expressions-Variables-Constants.playground/timeline.xctimeline +++ /dev/null @@ -1,6 +0,0 @@ - - - - - diff --git a/SwiftStudy.playground/Pages/01 注释.xcplaygroundpage/Contents.swift b/SwiftStudy.playground/Pages/01 注释.xcplaygroundpage/Contents.swift new file mode 100644 index 0000000..66d3867 --- /dev/null +++ b/SwiftStudy.playground/Pages/01 注释.xcplaygroundpage/Contents.swift @@ -0,0 +1,25 @@ +import UIKit + +// 注释的几种类型 +// 单行注释 + +/** + 多行注释 + */ + +/** + 1. + /*多行注释嵌套*/ + 2. + */ + +// 开起markdown语法,在两斜杠之后加上冒号 +//: # 一级标题 +/*: + # 学习Swift + ## 基础语法 + - 变量 + - 常量 + */ + +//: [Next](@next) diff --git a/SwiftStudy.playground/Pages/02 数据类型.xcplaygroundpage/Contents.swift b/SwiftStudy.playground/Pages/02 数据类型.xcplaygroundpage/Contents.swift new file mode 100644 index 0000000..7c83a68 --- /dev/null +++ b/SwiftStudy.playground/Pages/02 数据类型.xcplaygroundpage/Contents.swift @@ -0,0 +1,116 @@ +//: [Previous](@previous) + +//: ### 常量 +// 只能赋值一次,用let声明,它不要求在编译期间确定 +// 常量以及变量在初始化之前都不能使用 +let age: Int +age = 31 + +let name = "Zhang Mengxu" +let sex: String = "man" + + +//: ### 标识符 +// 标识符(比如常量名、变量名、函数名)几乎可以使用任何字符 +// 标识符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符 + +//: ### 常见的数据类型 +/*: + 常见的数据类型: + - 值类型(value type) + - 引用类型(reference type) + + 值类型(value type) + 值类型包含: + - 枚举(enum): + Optional + - 结构体(struct): + Bool、Int、Float、Double、Character、String、Array、Dictionary、Set + + 引用类型(reference type) + 引用类型包含: + - 类(class) + */ + +//: #### 整数类型 +/*: + 整数类型:Int8、 Int16、 Int32、 Int64、 UInt8、 UInt16、 UInt32、 UInt64 + 在32bit平台,Int等价于Int32, Int等价于Int64 + 整数的最值:UInt8.max、 Int16.min + 一般情况下,都是直接使用Int即可 + */ +let a:Int = 10 +print(Int.max) + + +//: #### 浮点类型 +/*: + 浮点类型:Float,32位,精度只有6位Double,64位,精度至少15位 + */ +let letFloat:Float = 30.0 +let letDouble:Double = 30.0 + +//: #### 字面量 +// 布尔值 +let bool = true + +// 字符串 +let string = "Zhang Mengxu" + +// 字符 +let character: Character = "🐶" + +// 整数 +let intDecimal = 17 // 十进制 +let intBinary = 0b1001 // 二进制 +let intOctal = 0o21 // 八进制 +let intHexadecimal = 0x11 // 十六进制 + +// 浮点数 +let doubleDecimal = 125.0 // 十进制,等价于1.25e2、 0.0125、 1.25e-2 +let doubleHexadecimal1 = 0xFp2 //十六进制,意味着15x2^2,相当于十进制的60.0 +let doubleHexadecimal2 = 0xFp-2 // 十六进制,意味着15x2^-2,相当于十进制的3.75 + +// 数组 +let array = [1, 3, 5, 7] + +// 字典 +let dictionary = ["name": 34, "age": 18] + +//: #### 类型转换 +// 整数转换 +let int1: UInt16 = 2_000 +let int2: UInt8 = 1 +let int3 = int1 + UInt16(int2) + +// 整数浮点数转换 +let int = 3 +let double = 0.14159 +let pi = Double(int) + double +let intpi = Int(pi) + +//: #### 元组(tuple) +// 元组的定义 +let httpError = (404, "Not Found") + +// 元组访问 +httpError.0 +httpError.1 +print("The status code is \(httpError.0)") + +// 元组的赋值 +let (statusCode, statusMessage) = httpError +print("The status message is \(httpError.1)") + +// -代表的是不接收参数值,Not Found会忽略 +let (justTheStatusCode, _) = httpError + +// 元组中添加参数,使用的时候通过名称访问,而非数字 +let http200Status = (statusCode: 200, description: "ok") +print("The status code is \(http200Status.statusCode)") + + + + + +//: [Next](@next) diff --git a/SwiftStudy.playground/contents.xcplayground b/SwiftStudy.playground/contents.xcplayground new file mode 100644 index 0000000..96638d2 --- /dev/null +++ b/SwiftStudy.playground/contents.xcplayground @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SwiftStudy.playground/playground.xcworkspace/contents.xcworkspacedata b/SwiftStudy.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ca3329e --- /dev/null +++ b/SwiftStudy.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SwiftStudy.playground/playground.xcworkspace/xcuserdata/jiulinxiri.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftStudy.playground/playground.xcworkspace/xcuserdata/jiulinxiri.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..fd5f43c75115a761dbf1b53a08b2f2fbec343588 GIT binary patch literal 23286 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
=vY29Nb;xeL(1dnyQeLyvx;&phk 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 literal 0 HcmV?d00001 diff --git a/SwiftStudy.playground/xcuserdata/jiulinxiri.xcuserdatad/xcschemes/xcschememanagement.plist b/SwiftStudy.playground/xcuserdata/jiulinxiri.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..31bc51b --- /dev/null +++ b/SwiftStudy.playground/xcuserdata/jiulinxiri.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,16 @@ + + + + + SchemeUserState + + SwiftStudy (Playground).xcscheme + + isShown + + orderHint + 0 + + + +