Swift_属性
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_属性的更多相关文章
- swift_属性观察者
//: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...
- jqu
1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...
- Swift_字符串详解(String)
Swift_字符串详解(String) 类型别名 //类型别名 fileprivate func testTypeAliases() { let index = String.Index.self p ...
- Swift_可选链
Swift_可选链 点击查看源码 //可选链 func test() { class Person { //可选属性可能为nil或Residence类 var residence: Residence ...
- Swift_初始化
#Swift_初始化 点击查看源码 初始化结构体 //初始化结构体 func testInitStruct() { //结构体 类中默认方法 struct Size { //宽 var width = ...
- Swift_继承
Swift_继承 点击查看源码 func testInheritance() { //基类 class Base { var count = 0.0 var description: String { ...
- Swift_方法
Swift_方法 点击查看源码 ///方法 class Methods: NSObject { func test() { // self.testInstanceMethods() //实例方法 s ...
- Swift_类和结构体
Swift_类和结构体 点击查看源码 struct Resolution { var width = 0 var height = 0 } class VideoMode { var resoluti ...
- Swift_枚举
Swift_枚举 点击查看源码 空枚举 //空枚举 enum SomeEnumeration { // enumeration definition goes here } 枚举基本类型 //枚举基本 ...
随机推荐
- cf449D. Jzzhu and Numbers(容斥原理 高维前缀和)
题意 题目链接 给出\(n\)个数,问任意选几个数,它们\(\&\)起来等于\(0\)的方案数 Sol 正解居然是容斥原理Orz,然而本蒟蒻完全想不到.. 考虑每一种方案 答案=任意一种方案 ...
- 关于圆角border-radius
一.border-radius 可以同时设置1-4个值 a)1个值 控制4个圆角 b)2个值 第1个控制左上角和右下角 第2个值控制左下角和右上角 c)3个值 第1个控制 第2个值控制左 ...
- 2013年未之wpf项目乱述
不知识为何现已很少在网上发帖,貌似人生的方向已经看的七七八八.要么用心工作,要么自主创业.无论怎么样,对于现在的我来说都是一种淡定的选择.作为一个c#程序员,今年下半年开始使用wpf,更觉得wpf将来 ...
- c# 利用反射 从json字符串 动态创建类的实例 并动态为实例成员赋值
转自 http://hi.baidu.com/wjinbd/item/c54d43d998beb33be3108fdd 1 创建自己要用的类 class stu { string _name; int ...
- 在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 ...
- WPF&Silverlight5 常用功能差异
一晃从Wpf转到sl也有半年多了,总想总结一下wpf和sl的差异,今天终于下笔. 首先来个整体图: 通过上图可以发现其实sl只是使用了wpf的一小部分,只是sl依赖的freamwork有很大部分都一样 ...
- Linux ->> UBuntu 14.04 LTE下设置静态IP地址
UBuntu 14.04 LTE设置IP地址和一些服务器版本的Linux还不太一样.以Centos 7.0为例,网卡IP地址的配置文件应该是/etc/sysconfig/network-scripts ...
- Java接口与多态
接口 可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成 接口的定义格式 接口的数据成员,只允许被public, static, final修饰. 接口的方 ...
- 【Leetcode】【Medium】Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null. 解题: ...
- linu常用命令链接
linux命令大全ps命令详解: http://www.jb51.net/LINUXjishu/151851.html Linux禁止ping以及开启ping的方法: http://www.cnblo ...