swift与结构体

前端之家收集整理的这篇文章主要介绍了swift与结构体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


struct@H_301_5@ Resolution {

var@H_301_5@ width = 0@H_301_5@

var@H_301_5@ height = 0@H_301_5@

func@H_301_5@ test(){

println("test"@H_301_5@)

}

}


//@H_301_5@所有结构体都有一个自动生成的成员逐一构造器,用于初始化新结构体实例中成员的属性

let@H_301_5@ vga = Resolution(width:640@H_301_5@,height: 480@H_301_5@)

let@H_301_5@ someResolution = Resolution()

println(vga.width)

println(someResolution.width)

someResolution.test()


//@H_301_5@这样写错误

//someResolution.width = 23



class@H_301_5@ VideoMode {

var@H_301_5@ resolution = Resolution()

var@H_301_5@ interlaced = false@H_301_5@

var@H_301_5@ frameRate = 0.0@H_301_5@

var@H_301_5@ name: String@H_301_5@?

}


let@H_301_5@ someVideoMode = VideoMode()

//Swift@H_301_5@ 允许直接设置结构体属性的子属性

someVideoMode.resolution.width = 12880@H_301_5@

println(someVideoMode.resolution.width)


//@H_301_5@类是引用类型,引用的是已存在的实例本身而不是其拷贝。

let@H_301_5@ hd = Resolution(width: 1920@H_301_5@,height: 1080@H_301_5@)

let@H_301_5@ tenEighty = VideoMode()

tenEighty.resolution = hd

tenEighty.interlaced = true@H_301_5@

tenEighty.name = "1080i"@H_301_5@

tenEighty.frameRate = 25.0@H_301_5@



let@H_301_5@ alsoTenEighty = tenEighty

alsoTenEighty.frameRate = 30.0@H_301_5@


if@H_301_5@ tenEighty === alsoTenEighty {

println(@H_301_5@"tenEighty 与@H_301_5@ alsoTenEighty 是等价的@H_301_5@")@H_301_5@

}

猜你在找的Swift相关文章