Swift 常用知識點BaseConfig

2022-09-12 00:45:18 字數 3979 閱讀 3476

①氣泡設定填充方式

選中該->設定slicing方式

②便利建構函式convenience

extension uibutton 

}

③懶載入屬性

//

mark:- 懶載入屬性

private lazy var titlebtn : titlebutton = titlebutton()

④歸檔-解檔物件

//

mark:- 歸檔&解檔

/// 解檔的方法

required init?(coder adecoder: nscoder)

/// 歸檔方法

func encode(with acoder: nscoder)

⑤正則匹配

/*

練習1:匹配abc

練習2:包含乙個a~z,後面必須是0~9 -->[a-z][0-9]或者[a-z]\d

* [a-z] : a~z

* [0-9]/\d : 0~9

練習3:必須第乙個是字母,第二個是數字 -->^[a-z][0-9]$

* ^[a-z] : 表示首字母必須是a~z

* \d : 數字有2到10

* [a-z]$ : 表示必須以a-z的字母結尾

練習4:必須第乙個是字母,字母後面跟上4~9個數字

練習5:不能是數字0-9

* [^0-9] : 不能是0~9

練習6:qq匹配:^[1-9]\d$

都是數字

5~12位

並且第一位不能是0

練習7:手機號碼匹配^1[3578]\d$

1.以13/15/17/18

2.長度是11

*/class

viewcontroller: uiviewcontroller $"

//2.建立正規表示式物件(try try? try!)

guard let regex = try? nsregularexpression(pattern: pattern, options: ) else

//3.匹配字串中內容

let results = regex.matches(in: str, options: , range: nsrange(location: 0, length: str.characters.count))

//4.遍歷陣列,獲取結果

forresult in results }}

//微博資料匹配

let statustext = "@coderwhy:【動物尖叫合輯】#肥豬流#貓頭鷹這麼尖叫[偷笑]、@m了個j: 老鼠這麼尖叫、兔子這麼尖叫[吃驚]、@花滿樓: 莫名奇#小籠包#妙的笑到最後[好愛哦]!~ "

//1.建立匹配規則

//let pattern = "@.*?:"

//匹配出來@coderwhy:

//let pattern = "#.*?#"

//匹配話題

//let pattern = "\\[.*?\\]"

//匹配表情

//2.建立正規表示式物件

guard let regex = try? nsregularexpression(pattern: pattern, options: ) else

//3.開始匹配

let results = regex.matches(in: statustext, options: , range: nsrange(location: 0, length: statustext.characters.count))

//4.獲取結果

forresult in results

⑥@escaping逃逸閉包

//

@escaping標明這個閉包是會「逃逸」,通俗點說就是這個閉包在函式執行完成之後才被呼叫

//沒有逃逸的閉包的作用域是不會超過函式本身的,所以說我們不需要擔心在閉包內持有self。逃逸的閉包就不同了,因為需要確保閉包內的成員依然有效,如果在閉包內引用self以及self的成員的話,就要考慮閉包內持有self的情況了。

//@escaping標記可以作為乙個警告,來提醒使用這個函式的開發者注意引用關係。

func checkchildren(pageindex: int, childexistblock: @escaping ()->void)

if nodat**iew !=nil

childexistblock()

}

⑦迴圈引用

weak var weakself =self

loginvc.loginblock =

⑧extendedlayoutincludesopaquebars(狀態列)

self.interactivepopgesturerecognizer?.delegate =self

n**igationbar.shadowimage =uiimage()

n**igationbar.setbackgroundimage(image,

for: .top, barmetrics: .default

) n**igationbar.titletextattributes = [.font:uifont.boldsystemfont(ofsize: 19),.foregroundcolor:uicolor.white]

n**igationbar.istranslucent = false

//檢視延伸不考慮透明的bars(這裡包含導航欄和狀態列)

//意思就是延伸到邊界

extendedlayoutincludesopaquebars = true

//這個屬性在狀態列不透明的狀態下才生效(不透明的條下可以擴充套件)

//意思就是空出導航欄位置

//extendedlayoutincludesopaquebars = false

edgesforextendedlayout = uirectedge.init(rawvalue: 0)

self.n**igationbar.tintcolor = uicolor.white

typealias:

用來為已存在的型別重新定義名字,支援泛型

10.xcode配置類名字首

選中專案->開啟右邊欄

11.oc引用swift介面屬性:

要在屬性前+@objc

@objc var homeworkdic : homeworkfunc?var tbview : groupshadowtableview!@objc var isunpublishmode : bool = true

}

12.swift 字典中修改某個屬性的值(null替換為空字串"")

//

/ 預設字典型別

typealias scdefaultdic = [string: any]

func s**ecache()

}tempdic["homeworks"] =temparray

}datadic =tempdic

//傳遞作業引數給 聊天室進行展示

scuserdefaults.set(self.datadic, forkey: "isheadmasterpublishhomework")

}

mysql常用知識點 mysql 常用知識點。

mysql u root p show databases show tables select from abc order by id limit 0,10 create database bbb exit mysqldump u root p game home backup.sql mysq...

shell常用知識點

0 shell中if,while的條件語句怎麼寫 test和 字串比較 數字比較 g,l,e,n,q,t的組合 greater than,less than,equil,not equil,greater equil,less equil 1 shell的字串 str hello str hello...

Oracle常用知識點

oracle的預設賬號及密碼有以下三種 1.使用者名稱 sys密碼 change on install 2.使用者名稱 system密碼 manager 3.使用者名稱 scott密碼 tiger 注意登陸模式不是normal select 分組的列,sum 要求和的列 from 表 group b...