初始化变量的三种方式:
1.直接赋值
2.重写init方法
3.使用 '!'(强制解包属性) '?'(可选存储属性) 两种符号来进行
初始化的方法可以有多个,但是每个方法名都是init,只是他们的参数需要不一样。
使用convenience 来标示的init方法,必须在方法体中调用一个已经存在的init方法
使用subscript可以给类自定义下标(好吧,我是第一次见到)
使用 extension可以无限的扩展已有的类,结构体,或者给枚举类型增加新的功能。据视屏(极客)所说:可以使用这种方式仿制java中的‘package’实现!
classcom{ classxqi{ classHello{ funcsayHello(){ println("Helloxiaoqi") } } } } varh=com.xqi.Hello() h.sayHello() extensioncom.xqi{ classUser{ funcgetName()->String{ return"xiaoqi" } } } varu=com.xqi.User() println("useris\(u.getName())")
使用protocol可以来定义一个其他用来实现此协议的规范,如果是类似 ‘interface’,不知道有没有人打我呢!
其中:可以使用mutating来定义一个协议中的突变方法,来做其他的事情!
原文链接:https://www.f2er.com/swift/326719.html