原创文章,欢迎转载。转载请注明:关东升的博客

Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。

存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。

存储属性概念:

我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,Employee 的部门属性dept与Department之间进行了关联。

我们可以在定义存储属性时指定默认值,示例代码如下:

class Employee {

    let no: Int = 

    var name: String = ""

    var job: String?

    var salary: Double = 

    var dept: Department?

} 

struct Department {

    let no: Int = 

    var name: String = ""

} 

let emp = Employee()

emp.no =                     //编译错误    :修改常量属性,程序会发生编译错误 

let dept = Department()

dept.name = "SALES"           //编译错误:dept是值类型,值类型不能修改,即便它的属性name是变量属性,也不能修改 

let emp1 = Employee()

emp1.name =  "Tony"

欢迎关注关东升新浪微博@tony_关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
  ​
更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php

最新文章

  1. 从阿里巴巴笔试题看Java加载顺序
  2. MySQL复制和集群
  3. EventAggregator, EventBus的实现
  4. IOS RunLoop浅析 二
  5. The method getDispatcherType() is undefined for the type HttpServletRequest
  6. Centos7 ZooKeeper 安装过程
  7. JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
  8. CAST 类型转换应用
  9. ASP.NET 5系列教程 (三):view components介绍
  10. jvm 数据区划分学习
  11. bzoj2085
  12. JS类型(2)_JS学习笔记(2016.10.02)
  13. 我的MFC学习之路(一)
  14. mysql在linux上重启
  15. (转)Nginx与tomcat组合的简单使用
  16. Zookeeper 分布式机器部署
  17. IntelliJ IDEA及maven、git下载与配置
  18. python安装media报错
  19. python3+requests库框架设计08-发送邮件
  20. BZOJ3531 [Sdoi2014]旅行 树链剖分 线段树

热门文章

  1. 《暗黑世界V1.6》服务器代码执行图
  2. 通过 react-native-keyboard-aware-scroll-view 解决键盘遮盖输入框的问题
  3. 移动负载均衡技术(MBL)
  4. 1高并发server:多路IO之select
  5. 【方法1】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
  6. POJ训练计划3096_Surprising Strings(STL/map)
  7. javascript - Underscore 与 函数式编程
  8. [HNOI2008]玩具装箱toy(dp+斜率优化)
  9. 如何在Linux下统计高速网络中的流量
  10. 李洪强经典面试题53-Swift