Swift 中也有结构体,它可以用来保存一个事物的一组信息或者行为等。
1. 结构体的声明和定义:
struct Student
{
var name:NSString = ""
var ID:Int = 0
var sex:Bool?
var phoneNO:NSString?
var classmate:Classmate?
struct Subject {
var name:NSString
var teacher:NSString?
}
func learning()
{
print("开始上课");
}
}
struct Classmate {
func chat()
{
print("we chat");
}
}
结构体声明的时候,可以不指定属性的类型,而赋给它一个默认值。
2. 结构体的构造方法:
(1)空参构造
var stu = Student()
stu.learning()
stu.classmate = Classmate()
stu.classmate?.chat()
只有结构体变量能够明确被赋上初始值的时候才能使用这种构造方法,带问号的变量会被初始化为nil。
(2)全参构造
var sub = Student.Subject(name: "语文", teacher: "Seiven")
print(sub.name)
全参构造方法必须对结构中的每一个属性进行赋值,字段也需要按照顺序进行,参数名称和字段名称也要完全相同。
使用全参构造方法将会使结构中默认的属性值被覆盖掉。
3. 结构体中也可以定义新的结构体,也可以嵌套结构体作为其属性。
4. 结构体是值拷贝类型,两个结构体变量之间进行赋值时,是对结构中所有内容的拷贝,从而修改一个实例的属性值后不会影响另一实例的内容。
var subCopy = sub;
subCopy.name = "数学"
print(sub.name)
print(subCopy.name)

1262

被折叠的 条评论
为什么被折叠?



