swift 属性值监测

来源:互联网 发布:unity3d是微软的吗 编辑:程序博客网 时间:2024/05/17 08:37

结构体和枚举比较类似可以比较学习:http://blog.csdn.net/lwjok2007/article/details/47975415


结构体是类似于枚举但又和枚举不同的一种自定义类型。简单理解一下可以认为结构体就是一个只有属性没有方法的特殊类。结构体里的属性,是一个对象都得有的。比如我们定义一个学生的结构体,包含学号,姓名,班级。那么一个学生类型的对象就包含了学号,姓名,班级所有的信息。某个变量如果被声明为一个枚举类型后,那么他只能是枚举中的某一个值。



[objc] view plaincopy
  1. //1 结构体的声明  
  2.   
  3. //声明结构体一般用关键字struct。我们看例子,声明一个学生结构体  
  4.   
  5. struct Student {  
  6.     var studentID:Int;//学号  
  7.     var studentName:String;//姓名  
  8.     var studentClass:String;//班级  
  9. }  
  10.   
  11. //以上声明方式 我们可以看到 直接指定了 每一个属性的数据类型。还有一种方式就是不指定数据类型,而是直接赋值,系统自动根据赋值判断数据类型  
  12.   
  13. struct Student1 {  
  14.     var studentID=2007001  
  15.     var studentName=""  
  16.     var studentClass=""  
  17. }  
  18.   
  19.   
  20. //2 结构体的构造方法  
  21.   
  22. //2.1 空参构造方法  
  23.   
  24. var zhangsan=Student1();  
  25.  //由于结构体必须有初始值,所以空参构造方法只适用于带默认值的结构体。  
  26.   
  27. //2.2 全参构造方法  
  28.   
  29. var zhangsan1=Student(studentID: 2001, studentName"张三", studentClass"三年级")  
  30.   
  31. //3 结构体的取值和赋值  
  32.   
  33. //结构体的取值和赋值很简单,直接使用 . 语法  
  34.   
  35. println(zhangsan1.studentName)  
  36. zhangsan1.studentName="李四"  
  37.   
  38. println(zhangsan1.studentName)  
  39.   
  40.   
  41. // 4 最后我们简单说下 结构体是可以嵌套的。  
  42.   
  43. //比如学生信息里面可能会有班主任的信息,我们可以直接把班主任直接设置成一个结构体,那么学生结构体里面就会有一个结构体  
  44.   
  45. struct Teacher {  
  46.     var teacherName="王老师"  
  47.     var teacherSex="女"  
  48. }  
  49.   
  50. struct Student2 {  
  51.     var studentID:Int;//学号  
  52.     var studentName:String;//姓名  
  53.     var studentClass:String;//班级  
  54.     var teacherInfo:Teacher;//班主任信息  
  55. }  
0 0
原创粉丝点击