28.swift高级
来源:互联网 发布:linux查看端口号命令 编辑:程序博客网 时间:2024/05/04 03:08
- 在本类的属性必须完成初始化之后,再调用父类初始化的方法
- 在同一个文件夹下所有的东西是共享的不用引入头文件
- 调用堆栈里边的小人一般为自己写的
- 所有的构造函数都是init
- 重载就是函数名相同,参数个数/参数名/参数类型 override是重写
- 重写和重载的区别
- 如果重载狗在函数但是没有实现默认的狗在函数init()系统不再提供默认的构造函数
- kvc运行时 系统动态的给属性赋值 属性有内存 给实例化对象发送
- 子类可以继承父类的kvc构造函数
- 便利构造函数返回的类可能为nil
- 定义一个_name var _name:String?
- private定义成私有的
- 懒加载
- extentsion类似于category来添加方法,添加方法只能作为区分代码块使用,不能像category那样调用方法 数据源方法 只能放至方法不能放置属性
- as(默认)一般应用于String转换成 NSString ,array转NSArray 系统的东西转
- 可选项的针对方案 第一个让系统去提示我们,然后就分析
- 在cell中用didSet就相当于oc重写set方法
- textField.hashText() 有值的话
重写:子类去重写父类的方法,需要对子类进行一定的扩展
重写需要用关键字override
重载方法名相同参数个数/参数名称/参数类型不同
便利构造函数,需要调用其他的构造函数,来完成初始化 要用self.init---
便利构造函数的关键字 convenience
子类的便利构造函数继承了父类的便利构造函数
即便复制父类的便利构造函数,到子类中也不会调用父类的遍历构造函数
var name: String?{
get{
ret _name
}
set {
_name = newValue
}
}
只读只在方法中写get方法
lazy varperson: Person = {return Person()}()
lazy vardemoPerson: Person = Person()
let personFunc = {() -> Personin return Person()}
lazy var demoPerson:Person = self.personFunc()
extentsion ViewController{ }
as! (强转)告诉就是后面的哪种类型 应用于我们自己定义的类
as? (可选)告诉不一定是后面的类型
第二个多敲
var person: Person?{didSet{ nameLabel.text = person?.name ageLabel.text = "\(person?.age ?? 0)"}}
0 0
- 28.swift高级
- Swift高级
- swift课程 02 swift高级
- Swift编程高级教程
- Swift 高级运算符
- Swift-高级运算符
- swift 高级用法
- swift enum高级用法
- 24.Swift-高级运算符
- Swift高级开发语言基础
- Swift高级开发语言--函数
- Swift Array的高级使用
- Swift的一些高级技巧
- Swift 笔记 七:swift函数的高级特性
- Swift 高级运算符(二十)
- swift中switch的高级用法
- Swift高级开发语言--函数嵌套
- Swift高级运算符(Advanced Operators)
- 26.SQLite
- MySQL5.5源码包安装 for Red Hat Enterprise Linux 6
- 27.swift基础
- ios视图frame和bounds的对比
- 致10年前自己的一封信,谁与我同行
- 28.swift高级
- centos直接yum安装nginx
- pair 函数 (STL)
- RabbitMQ监控(3)——核心监控类实现
- BIEE系统C组件启动不了 libxerces-c.so.28
- github常见操作和常见错误!错误提示:fatal: remote origin already exists.
- 演练:从头开始创建 MSBuild 项目文件
- Linux解压缩命令
- (整理)Java实现链表--找到两个链表的第一个公共结点(网易笔试题2016)