.如何解決閉包內部的迴圈引用問題
//通過定義捕獲列表解決
lazy var someclosure: void -> string =
.如何獲得某個變數的型別字串let string = "hello"
let stringarray = ["one", "two"]
let dictionary = ["key": 2]
//列印具體內容
print(string)//hello
print(stringarray)//["one", "two"]
print(dictionary)//["key": 2]
//列印型別
print(type(of: string))//"string"
print(type(of: stringarray))//arrayprint(type(of: dictionary))//dictionary//獲得型別字串
string(describing: type(of: string)) // "string"
string(describing: type(of: stringarray)) // "array"
string(describing: type(of: dictionary)) // "dictionary"
//獲得完整的型別字串
string(reflecting: type(of: string)) // "swift.string"
string(reflecting: type(of: stringarray)) // "swift.array"
string(reflecting: type(of: dictionary)) // "swift.dictionary"
.如何查詢陣列內部某個元素或者某些元素class person
}let p1 = person(name: "a", age: 1)
let p2 = person(name: "b", age: 2)
let p3 = person(name: "c", age: 3)
let p4 = person(name: "c", age: 31)
let array = [p1,p2,p3,p4]
//可以獲得p1的下標為0
var result = array.firstindex
print(result!)
//通過元素內部的某個屬性來查詢index
result = array.firstindex
print(result!)
//index只會返回第乙個查詢到的,查詢多個,需要使用filter
let contents = array.filter
contents.count//contents會包含所有name=c的值
生成指定位數的整數或者小數,不足位數以0補充//指定位數字,不足的位數以0補充
extension int
}//保留指定位小數,不足位數以0補充
extension double
}//使用
print(8.format(f: "06"))//000008
print(8.format(f: "02"))//08
print(9999.format(f: "02"))//9999
print(0.12345.format(f: ".2"))
print(0.1.format(f: ".4"))
對陣列內元素,按照指定屬性指定規則進行排序struct imagefile
images.sort //從大到小排序
images.sort //從小到大排序
如何替換字串中某個特定字元let string = "this is my string"
//替換" "成"-",最終結果為:"this-is-my-string"
//方法一
let newstring1 = string.replacingoccurrences(of: " ", with: "-")
//方法二
let toarray = string.components(separatedby: " ")
let newstring2 = toarray.joined(separator: "+")
//方法三
let newstring3 = string(string.characters.map )
如何發出http請求
ss1
let url = url(string: "")
let task = urlsession.shared.datatask(with: url!)
task.resume()
如何修改imageview中image的顏色
ss1
override func viewdidload()
func changetintcolor(imageview: uiimageview, color: uicolor)
Swift小技巧 三
實現tableview滾動到底部的功能 獲得底部的位置 let bottomoffset cgpoint x 0,y scrollview.contentsize.height scrollview.bounds.height 設定scrollview顯示的位置 scrollview.setcont...
二分小技巧
有一些題目,常常會用到二分,但無良的出題人總是會卡人們的二分。比方說你每次二分總要分滿log次,而且還總要分n次,這樣效率就變成了n log n 很是gg。但是思考發現我們的二分存在乙個小問題,就是說右端點總是被卡死的,如果解決這個瓶頸,便能實現不被卡。而能二分說明它一定有二分性質,也就是說我們可以...
Swift實戰技巧
swift實戰技巧 給oc呼叫的方法需要新增 objc標記,一般的action target的處理方法,通知的處理方法等需要新增 objc標記 objc func onrefresh 使用方法型如 selector 方法名稱 eg.selector self.onrefresh 更加詳細的介紹可以看...