Swift_属性


点击查看源码

class DataImporter {

    var fileName = "data.txt"

    init() {
print("初始化")
}
} private class Users { //有默认值的属性
var id = 0
//只指定类型的属性 有可能存储nil
var name:String?
//懒加载 只是使用的时候才会初始化
lazy var importer = DataImporter()
//get set
var qqTemp:String = ""
var qq:String {
//如果使用get和set则不能使用当前属性名赋值,以免死循环
//获得
get {
print("获得")
return self.qqTemp
}
//设置
set {
print("传入值:\(newValue)")
self.qqTemp = newValue
}
}
//只读 read-only
var height: Int {
return 180
}
//属性观察
var address:String = "" {
willSet {
print("新地址:\(newValue)")
}
didSet {
print("旧地址:\(oldValue)")
}
} //静态变量
static var storedTypeProperty = "Some value."
} //属性
class Properties: NSObject { func test() {
self.testProperties()
} func testProperties() {
let user = Users() //有初始值
print("\(user.id)") //无初始值
print("\(user.name)") //懒加载 只有使用的时候才会加载
print("\(user.importer.fileName)") //先输出"初始化" 后输出"data.txt" //get和set
user.qq = "1045214799"
print("\(user.qq)") //只读
// user.height = 150 //报错
print("\(user.height)") //属性观察 willSet将设置 didSet已设置
user.address = "北京" //新地址:北京 旧地址:
user.address = "天安门" //新地址:天安门 旧地址:北京 //静态变量
Users.storedTypeProperty = "static"
print("\(Users.storedTypeProperty)")
}
/* print 0
nil
初始化
data.txt
传入值:1045214799
获得
1045214799
180
新地址:北京
旧地址:
新地址:天安门
旧地址:北京
static */
}

Swift_属性的更多相关文章

  1. swift_属性观察者

    //: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...

  2. jqu

    1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...

  3. Swift_字符串详解(String)

    Swift_字符串详解(String) 类型别名 //类型别名 fileprivate func testTypeAliases() { let index = String.Index.self p ...

  4. Swift_可选链

    Swift_可选链 点击查看源码 //可选链 func test() { class Person { //可选属性可能为nil或Residence类 var residence: Residence ...

  5. Swift_初始化

    #Swift_初始化 点击查看源码 初始化结构体 //初始化结构体 func testInitStruct() { //结构体 类中默认方法 struct Size { //宽 var width = ...

  6. Swift_继承

    Swift_继承 点击查看源码 func testInheritance() { //基类 class Base { var count = 0.0 var description: String { ...

  7. Swift_方法

    Swift_方法 点击查看源码 ///方法 class Methods: NSObject { func test() { // self.testInstanceMethods() //实例方法 s ...

  8. Swift_类和结构体

    Swift_类和结构体 点击查看源码 struct Resolution { var width = 0 var height = 0 } class VideoMode { var resoluti ...

  9. Swift_枚举

    Swift_枚举 点击查看源码 空枚举 //空枚举 enum SomeEnumeration { // enumeration definition goes here } 枚举基本类型 //枚举基本 ...

随机推荐

  1. cf449D. Jzzhu and Numbers(容斥原理 高维前缀和)

    题意 题目链接 给出\(n\)个数,问任意选几个数,它们\(\&\)起来等于\(0\)的方案数 Sol 正解居然是容斥原理Orz,然而本蒟蒻完全想不到.. 考虑每一种方案 答案=任意一种方案 ...

  2. 关于圆角border-radius

    一.border-radius 可以同时设置1-4个值 a)1个值  控制4个圆角 b)2个值  第1个控制左上角和右下角   第2个值控制左下角和右上角 c)3个值  第1个控制   第2个值控制左 ...

  3. 2013年未之wpf项目乱述

    不知识为何现已很少在网上发帖,貌似人生的方向已经看的七七八八.要么用心工作,要么自主创业.无论怎么样,对于现在的我来说都是一种淡定的选择.作为一个c#程序员,今年下半年开始使用wpf,更觉得wpf将来 ...

  4. c# 利用反射 从json字符串 动态创建类的实例 并动态为实例成员赋值

    转自 http://hi.baidu.com/wjinbd/item/c54d43d998beb33be3108fdd 1 创建自己要用的类 class stu { string _name; int ...

  5. 在Ubuntu14.10中部署Hadoop2.6.0单节点伪分布集群

    1. 环境信息如下: ubuntu:14.10 jdk:openjdk-1.7.0 hadoop:2.6.0 2. 下载hadoop2.6.0, http://apache.fayea.com/had ...

  6. WPF&Silverlight5 常用功能差异

    一晃从Wpf转到sl也有半年多了,总想总结一下wpf和sl的差异,今天终于下笔. 首先来个整体图: 通过上图可以发现其实sl只是使用了wpf的一小部分,只是sl依赖的freamwork有很大部分都一样 ...

  7. Linux ->> UBuntu 14.04 LTE下设置静态IP地址

    UBuntu 14.04 LTE设置IP地址和一些服务器版本的Linux还不太一样.以Centos 7.0为例,网卡IP地址的配置文件应该是/etc/sysconfig/network-scripts ...

  8. Java接口与多态

    接口 可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成 接口的定义格式 接口的数据成员,只允许被public, static, final修饰. 接口的方 ...

  9. 【Leetcode】【Medium】Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. 解题: ...

  10. linu常用命令链接

    linux命令大全ps命令详解: http://www.jb51.net/LINUXjishu/151851.html Linux禁止ping以及开启ping的方法: http://www.cnblo ...