Swift—Tips—01

swift.png

前言:其實(shí)很早就開始接觸swift,當(dāng)時(shí)只是覺得這個(gè)語法怎么有點(diǎn)奇特,也讓代碼簡(jiǎn)單了些。 但是由于各種各樣的原因,好久沒接觸了,當(dāng)初學(xué)得基礎(chǔ)語法也拋在云端了。 今天決定拾起swift,從40個(gè)小tips開始(很早以前下載的demo集,沒有作者了,只能說聲感謝了前輩) --這個(gè)系列文章不是教你寫demo的,只是我寫demo中覺得自己不熟悉的知識(shí)點(diǎn)保存下來,方便以后查找(這是我風(fēng)格了,太健忘了)

// MARK:- 01 讓代碼穿上衣服
#不知道剛從OC過渡到Swift的朋友,第一次看見一長(zhǎng)串的Swift代碼時(shí),是不是覺得每個(gè)方法就像沒穿衣服一樣,赤裸裸的,也什么邏輯
我們可以這樣做—比如tableView的代理和數(shù)據(jù)源方法,我們可以單獨(dú)寫個(gè)分類出來
// MARK:- tableView -- dataSource
extension ViewController {
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 10
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
 }
  
    //返回高度
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 100
    }
}


// MARK:- 02 打印拼接
#這里只說一種情況—我學(xué)習(xí)Swift的策略是,了解基礎(chǔ)語法后,就模仿簡(jiǎn)單demo的實(shí)現(xiàn),有不懂的就直接百度或者是Google
 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
         //打印得注意了
        print("點(diǎn)擊了\(indexPath.row)行cell")
     }

// MARK:- 03 tableViewCell的創(chuàng)建
#代碼創(chuàng)建,并且沒有注冊(cè)cell的情況下,用
dequeueReusableCell(withIdentifier identifier: String) -> UITableViewCell?
# 如果已經(jīng)注冊(cè)了,或者用的xib,就使用
dequeueReusableCell(withIdentifier identifier: String, for indexPath: IndexPath) -> UITableViewCell


// MARK:- 04 空合運(yùn)算符
#簡(jiǎn)介:
空合運(yùn)算符(a ?? b)將對(duì)可選類型a進(jìn)行空判斷,如果a包含一個(gè)值就進(jìn)行解封,否則就返回一個(gè)默認(rèn)值b.這個(gè)運(yùn)算符有兩個(gè)條件:
表達(dá)式a必須是Optional類型
默認(rèn)值b的類型必須要和a存儲(chǔ)值的類型保持一致

#運(yùn)用:
我們創(chuàng)建cell可以直接這樣寫和下面是一樣的效果
let cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) ?? UITableViewCell(style: .subtitle, reuseIdentifier: reuseIdentifier)

/*****************************************************/
  var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier)
        if cell == nil {
            cell = UITableViewCell(style: .subtitle, reuseIdentifier: reuseIdentifier)
        }
        






// MARK:- 05 導(dǎo)入字體的步驟
1.下載ttf文件,加入項(xiàng)目中
 2.在info.plist中,添加一個(gè)字段:Fonts provided by application—將字體名字添加到item里面
3.然后就可以通過名字使用了
// MARK:- 06 顏色設(shè)置快捷鍵
button.backgroundColor = #colorLiteral(red: 0.8549019694, green: 0.250980407, blue: 0.4784313738, alpha: 1)
#這上面這個(gè)是從代碼中直接復(fù)制過來的,設(shè)置顏色時(shí)直接
button.backgroundColor = colcor 按回車有彩蛋哦
// MARK:- 07 guard守衛(wèi)語法
#在Tips-03小項(xiàng)目中,我們從本地加載一個(gè)文件
let path = Bundle.main.path(forResource: "emoji zone", ofType: "mp4”)
#我們加載了這個(gè)文件,可以進(jìn)行一個(gè)判斷,我們是否將文件名寫正確呢,先看以前的做法 if 判斷
if path == nil {
            print("沒有該文件!")
          return
       }
#看著也很簡(jiǎn)單是吧,為什么還要用guard呢(這個(gè)自己查查吧)
guard path != nil else {
            print("沒有該文件!")
            return
        }
#判斷path為不為空,不為空,執(zhí)行g(shù)uard下面的代碼,為空,就執(zhí)行else中的代碼
// MARK:- 08 用系統(tǒng)字體為你的應(yīng)用帶來改變
  • 看下面這張圖形中的圖片中的字體是不是感覺比較炫酷
1.png
  • 其實(shí)這只是設(shè)置了一下系統(tǒng)自帶字體而已
 videoTitle.font = UIFont(name: "Zapfino", size: 24)

貼個(gè)網(wǎng)站,iOS 所有自帶字體
iOS字體

// MARK:- 09 遍歷數(shù)組enumerated()
#類似于OC Block塊遍歷
 let arr = ["tmac","kobe","kg"]
        for (index,value) in arr.enumerated() {
            print(index)
            print(value)
        }

// MARK:- 10
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容