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 } 枚举基本类型 //枚举基本 ...
随机推荐
- 初识 ElasticSearch
场景:最近有同事分享了ElasticSearch Inverted Index,所以自己也了解一下基于Lucene的ES. 转载自:http://www.jianshu.com/p/05cff7175 ...
- Win7下VC++6.0打开文件报错导致其崩溃的解决办法
原文:http://blog.csdn.net/wanghaihao_1/article/details/39005771 在Windows7下安装Visual C++ 6.0后,遇到一个致命的问题打 ...
- Maven 安装与使用(一)
1. 安装 参考:http://maven.apache.org/install.html A. win7环境下,官网下载maven安装文件 B. 解压缩maven文件 C. 确认已配置好JAVA环境 ...
- jq重复切换类名
//重复切换类名"active"$(".probability-rules header").toggleClass("active");
- java断言 assert
关于assert的用法网上教程很多,这里就不说了,只演示一下运行时开启断言的方法. public class A{ public static void main(String[] args){ Cl ...
- Session、Cookie详解(2)
session是web开发里一个重要的概念,在大多数web应用里session都是被当做现成的东西,拿来就直接用,但是一些复杂的web应用里能拿来用的session已经满足不了实际的需求,当碰到这样的 ...
- Hadoop Federation联邦
背景概述 单 NameNode 的架构使得 HDFS 在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode 进程使用的内存可能会达到上百 G,NameNode 成为了性能的瓶颈. ...
- spring文章
单元测试 spring +Junit 完美组合:https://blog.csdn.net/shan9liang/article/details/40452469#
- 工作好搭档(三):慧想 S100 液晶显示器支架
引言:工欲善其事,必先利其器.码农十年,与电脑打了二十多年的交道,也配置了一些过得去的装备.资金有限,更希望所有的投入都在刀刃上.写工作好搭档系列,是晒考虑的原因.思路.经验和教训.欢 ...
- nginx知识图谱
nginx启动起来后有两个进程,一个是主进程,一个是守护进程