/*---------------我是帥氣的分割線--------*/
/*** 協議
*/@objc protocol description
//如果宣告可選擇實現方法. 需要在func前加@optional宣告,而且協議前面要加@objc 這樣協議結構體不能遵守,所以也不允許matating方法的存在
//protocol description
/*---------------我是帥氣的分割線--------*/
/*------- 結構體 -------*/
struct point
struct size
// swift中結構體也可以建立("物件")例項
var point = point()
var size = size()
//建立兩個空的陣列
var anemptyarraya = array()
// or
var anemptyarrayb = string()
struct rect
set (getcenter)
}mutating func moveby(deltax:double,deltay: double)
//------實現協議方法
func description() -> string
mutating func amutatingmethod()
// 如果是現實協議中的型別方法,雖然在協議中使用了class關鍵字,但是在結構體
static func atypemethod()
}var frame = rect()
frame.origin.x = 10
frame.origin.y = 10
= 10
= 10
frame.size = size(width: 100, height:100)
println("frame = (\(frame.origin.x),\(frame.origin.y),\(frame.size.width),\(frame.size.height))")
println("frame.center = (\(frame.center.x),\(frame.center.y))")
println(frame.description())
/*---------------我是帥氣的分割線--------*/
/*** 列舉值
*/enum personideentify: string
class person
//實現協議方法
func description() -> string
// 在類中如果實現協議中定義的mutating方法,那麼不需要加"mutating"關鍵字
func amutatingmethod()
}//前面宣告列舉,直接可以用" .student "再次說明自動型別推斷
var persona = person(name: "張三",*** :"m", identify: .student)
var personb = person(name: "lisi",*** :"f", identify: .teacher)
switch (persona.identify!)
/*---------------我是帥氣的分割線--------*/
/*** 繼承
*/class student: person
init(name: string,***:string,number:string)
}var studenta = student(name: "李莉",***: "f",number:"312321")
var studentb = student(name: "李莉",***: "f",number:"312321")
println("student attendclasstime = \(student.attendclasstime)")
class teacher:person
override func description() -> string
}var teachera = teacher(name:"張陽",***:"男",course:"swfit")
println()
SWfit學習4 列舉和結構體
swift的列舉型別是一系列的值,不同於c語言中列舉型別是整數型別。每個列舉定義了個新的型別 使用 enum 建立列舉 注意 swift 的列舉可以關聯方法 enum rank int 關於switch語句,必須是完備的。如上所示,如果沒有把所有case寫完整,那麼就需要加上default語句。如上...
結構體 共用體 列舉
結構體 共用體 列舉 分析 首先宣告的結構體元素year的位址是最低的 0012ff74 而最後宣告的day的位址是最高的 0012ff7c 而我們又知道在棧中宣告變數的時候,位址是從高到低的分配的.因此,切記在結構體中宣告的變數與直接在外面宣告是不一樣的.在結構體中,最先宣告的變數放在最低位的.另...
列舉,結構體,共用體
列舉的定義 enum log level dbg,inf,war,err,fat,all,offvoid writeinfor log level level switch level case dbg printf d n dbg 上述定義的列舉型別,預設為dbg 0,inf 1,依次類推。1 列...