日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Swift初级入门【步步为营】

發布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Swift初级入门【步步为营】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

菜鳥向前看。。。。。。

來八一八swift的那些事了

啦啦啦啦啦啦啦,快來打我呀,我就是這么強大,啦啦啦啦啦啦啦啦啦啦啦

目錄

1、swift中let和var的區別

2、swift中的lazy

3、Swift中的注釋

1、swift中let和var的區別

let和var的區別在于對象的內存地址可不可以改變

let代表不可變對象,即對象首地址不能發生改變,也就是說內存地址不能改變;

var代表可變對象,即內存地址可以發生改變,可以修飾指針重新指向的變量;

舉例:

let strB:String = "我是B"

strB = "我是新來的B" ? 這個時候Xcode會提示報錯

Expected 'var' keyword in property declaration?

Insert 'var '

Invalid redeclaration of 'strB'

因為let修飾的變量不能改變指針指向,故這時候Xcode提示你用var

var strB:String = "我是B"

strB = "我是新來的B" ?完美展示不會報錯

再來看看下面這個

let arrayM: NSMutableArray = NSMutableArray()

arrayM.add("我是A") ?Xcode為什么沒有報錯???

let可以修飾可變對象,數組arrayM的內存地址并沒有發生改變,也就是數組arrayM的指針沒有重新指向

2、swift中的lazy

swift中我們在變量屬性前加lazy關鍵字來指定延遲加載,最主要的作用就是提升性能

所謂延遲加載就是在第一次訪問某個屬性時,要判斷這個屬性是否初始化,如果已經初始化則直接返回,如果沒有初始化則進行初始化。這樣可以把這個屬性延遲初始化,把它和包含它的對象初始化分隔開,從而達到提升性能的目的。

延遲加載是初始化時很常用的性能優化方式,尤其是在一些對象的屬性比較復雜時候,默認全部初始化會耗費不少時間,從而影響性能;還有一些在特定場景才能使用到的對象,更是浪費資源。所以有些時候我們并不會立刻用到一個對象或者一個對象的所有屬性,使用延遲加載可以提升性能。示例代碼如下:

private lazy var _titleLabel: UILabel = {

? ? ? ? let titleL = UILabel.init()

? ? ? ? titleL.text = "Hello World"

? ? ? ? return titleL

}()

關于Lazy的拓展:Lazy可以配合map、filter這類接受閉包運行的方法一起,使整個行為變成延遲執行,舉個例子吧

正常情況下:

? ? ? ? ?let numbers = 1...5

? ? ? ? let doubleNumbers = numbers.map { (i:Int) -> Int in

? ? ? ? ? ? print("numbers:\(i)")

? ? ? ? ? ? return i*2

? ? ? ? }

? ? ? ? for i in doubleNumbers{

? ? ? ? ? ? print("doubleNumbers:\(i)")

? ? ? ? }

輸出結果:

numbers:1

numbers:2

numbers:3

numbers:4

numbers:5

doubleNumbers:2

doubleNumbers:4

doubleNumbers:6

doubleNumbers:8

doubleNumbers:10

添加Lazy關鍵字:

? ? ? ? ?let numbers = 1...5

? ? ? ? let doubleNumbers = numbers.lazy.map { (i:Int) -> Int in

? ? ? ? ? ? print("numbers:\(i)")

? ? ? ? ? ? return i*2

? ? ? ? }

? ? ? ? for i in doubleNumbers{

? ? ? ? ? ? print("doubleNumbers:\(i)")

? ? ? ? }

輸出結果:

numbers:1

doubleNumbers:2

numbers:2

doubleNumbers:4

numbers:3

doubleNumbers:6

numbers:4

doubleNumbers:8

numbers:5

doubleNumbers:10

對于一些不需要完全運行或者提前退出的情況,使用lazy進行性能優化更加有效

3、Swift中的注釋

分組注釋

OC中 #pragma mark====== 你要寫的注釋Swift中 //MARK: -你要寫的注釋

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Swift初级入门【步步为营】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品97 | 国产福利视频在线 | av瑟瑟 | 国产网址在线 | 波多野结衣在线观看视频 | 亚洲经典视频在线观看 | 久久亚洲私人国产精品va | a毛片网站 | 欧美一级无毛 | 黄色片一级 | 精品人妻伦九区久久aaa片 | 亚洲日本中文字幕 | 免费极品av一视觉盛宴 | 日女人网站| 成人性毛片 | 亚洲大片在线观看 | 成人手机在线免费视频 | 无码人妻精品一区二区三区在线 | 亚洲乱码电影 | 国产伦精品一区二区三区免费 | 欧美精品一区二区免费 | 国产免费叼嘿网站免费 | 性渴老太作爱 | www.青青草| 国产91片| av大片在线观看 | 午夜视频福利网站 | 欧美一区二区三区精品 | 国产伦精品一区二区三区四区 | 国产成人在线视频网站 | 日韩在线视频免费播放 | 日韩欧美亚洲在线 | 国产激情一区二区三区四区 | 国产黄片一区二区三区 | 开心激情深爱 | 污片视频在线观看 | 黑人操中国女人视频 | 久久r精品 | 日韩五月天 | 中文天堂在线观看 | 国产日韩一级片 | 日韩av资源| av在线资源观看 | 在线视频观看免费 | 日本九九热 | 亚洲一区二区网站 | 在线a| 16—17女人毛片 | 麻豆亚洲精品 | 国产在线h | 欧美三级午夜理伦 | 99re视频在线 | 欧美精品在线观看视频 | 国产黄色小视频在线观看 | 黄色一级网 | 中文字幕丰满孑伦无码专区 | www.av在线.com| 久色在线| 91久久久久久久久久久 | 最全aⅴ番号库 | 操一操干一干 | 国产成人精品一区二区三区福利 | 中文字幕无码人妻少妇免费 | 欧美专区综合 | 国产精品夜夜夜爽张柏芝 | 日韩激情影院 | 久久久久久久中文字幕 | 免费无毒av| 欧美一区二区三区激情视频 | 欧美黄色大片视频 | 亚洲色图综合网 | 欧美高清不卡 | 黄色免费视屏 | 调教奶奴| 少妇在军营h文高辣 | 日韩精品v | 日本美女一区二区 | 性欢交69精品久久久 | 中文字幕一区二区人妻电影 | 欧美日韩一二三四区 | av在线手机观看 | 在线观看日韩一区 | av片免费在线 | 日本xxx在线播放 | 国产美女被草 | 中文字幕在线精品 | 妞干网精品 | 国产一区二区精品丝袜 | 四虎视频 | 日日夜夜91 | 能看av的网址 | 日韩在线天堂 | 国产在线青青草 | av在线激情 | 亚洲一级影院 | 二区免费视频 | 色接久久 | 2021久久 | 国产黄色片免费看 |