閉包
類似於 oc 中的 block,是一段預先定義好的**,在需要時執行
閉包表示式格式:
in
用於區分閉包定義和**實現
//定義有引數a的閉包
let coluse =
//定義無引數的閉包
let coluse1 =
let coluse2 =
// 尾隨閉包
// 當閉包是最後乙個引數的時候, 將閉包放在引數整個()外面
uiview.animatewithduration(0, animations: )
閉包使用場景(**)
//1.定義閉包
let cal =
//呼叫方法
loaddate(cal)
}//2.建立方法,閉包callback:(string)->void作為方法的引數
func loaddate(callback:(string)->void) ->void)}}
定義類class 類名: 父類名
注意:1.swift的繼承和oc一樣是通過:, swift也只有單繼承
2.訪問類的屬性和呼叫類的方法都是通過.來進行的
3.覆蓋父類方法, 需要加關鍵字 override
類的屬性
計算型屬性
: 不儲存任何資料,只生成getter
和setter
,當只提供get
方法時,稱之為唯讀計算屬性.必須要有get
方法
// 儲存型屬性: 專門負責儲存資料的
/*儲存型屬性有屬性監視器:監視值的改變
1.willset: 值在改變前呼叫,了解,一般用不到
2.didset: 值改變後呼叫, 這個用的多,如重新整理列表資料
*/newvalue表示之前的值
var name: string = "liudehua"
didset
}// 計算型屬性: 提供get和set方法,裡面寫什麼**根據業務需求來
// 當計算性屬性,只提供get方法時,成為唯讀計算性屬性,不能只有set沒有get
var nikename: string
set
}建構函式
作用:在物件例項化過程中給所有的儲存型屬性設定初始值,並且執行必要的準備和初始化任務.
便利建構函式
建構函式小結
// 建構函式給屬性賦值
// 建構函式,先給自己的屬性賦值,在呼叫父類的建構函式
override init()
// 過載: 函式名稱一樣,但是引數不一樣
init(name: string)
//子類與父類不能有相同名字的屬性,但是不是繼承關係的兩個類可以有相同名字的屬性和方法
//便利建構函式
convenience init?(stu_name:string,stu_grade:float)
//需要呼叫自身的指定建構函式或便利建構函式,不能呼叫父類的
self.init(name:stu_name,grade:stu_grade)
}convenience init?(s_name:string,s_grade:float)
懶載入// 懶載入方式1
lazy var person: person = person(name: "小強", age: 20)
lazy var arr: nsarray = nsarray()
// 懶載入方式2(完整寫法)
lazy var person2: person = ()
//(預設寫法)除了建立物件,還可以做一些初始化操作
lazy var person2: person = ()
待續。。。
Swift 基礎小結一
在 swift 中使用var和let分別宣告變數和常量,至於型別,則可以通過後面的初始值資訊進行推斷,或者直接在變數名後進行指定。var str string let num int 0 var isopen bool這種不同於 oc 的宣告書寫格式,是否會覺得有點不習慣呢,但是鑑於其自動推斷型別的...
Swift基礎篇 元祖
import uikit 元祖 元祖 復合資料型別 只要將多個相同或者不同的資料用 括起來就是元祖 優點 在以前沒有元祖之前c和oc語言是通過傳入指標或者返回結構體的方式來返回多個值的,而有了元祖之後就可以實現讓乙個函式返回多個值 let student hello 99,99.8 print st...
Swift基礎篇 字典
import uikit 字典 格式 var dict dictionary 注意 將oc的 換成了 可變和不可變 var let var dict dictionary var dict string string var dict name swift age 99 dict 企業開發中字典使用...