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 } 枚举基本类型 //枚举基本 ...
随机推荐
- 优秀iOS文章集合
Runtime 10种用法(没有比这更全的了成为iOS顶尖高手,你必须来这里(这里有最好的开源项目和文章)iOS逆向Reveal查看任意app 的界面JSPatch (实时修复App Store bu ...
- JavaWeb请求-响应学习笔记
先来看一个流程图: 服务器处理请求的流程: (1)服务器每次收到请求时,都会为这个请求开辟一个新的线程. (2)服务器会把客户端的请求数据封装到request对象中,request就是请求数据的载 ...
- Python学习系列----第三章 控制流
在python中有三种控制流语句,分别是: if.for.while. 2.1 if 语句 if 语句用来检验一个条件,如果条件为真,我们运行一块语句(称为 if-块),否 则我们处理另外一块语句(称 ...
- 深入理解token
链接:https://my.oschina.net/jamesfancy/blog/1613994 摘要: Token 是在服务端产生的.如果前端使用用户名/密码向服务端请求认证,服务端认证成功, ...
- Windows(7)上不能启动MySQL服务(位于本地计算机上)错误1067 :进程意外终止
就这段时间,很多人在抱怨为什么自己的MySQL又打不开问题. 就“Windows(7)上不能启动MySQL服务(位于本地计算机上)错误1067 :进程意外终止”这个问题,我想到了几种方案解决: 一.首 ...
- SVNKit学习——基于Repository的操作之print repository tree、file content、repository history(四)
此篇文章同样是参考SVNKit在wiki的官方文档做的demo,每个类都可以单独运行.具体的细节都写到注释里了~ 开发背景: SVNKit版本:1.7.14 附上官网下载链接:https://www. ...
- sql server——分组查询(方法和思想)
思想 先排序在汇总 sql server里分组查询通常用于配合聚合函数,达到分类汇总统计的信息.而其分类汇总的本质实际上就是先将信息排序,排序后相同类别的信息会聚在一起,然后通过需求进行统计计算. 使 ...
- .net 面向对象程序设计深入](2)UML
1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. 类型:动态图 应用:需求分析阶段 2.用例图元素 2.1 参与者(Ac ...
- spring的声明式事务,及redis事务。
Redis的事务功能详解 http://ghoulich.xninja.org/2016/10/12/how-to-use-transaction-in-redis/ MULTI.EXEC.DISCA ...
- good pics