您的位置:首页 >> Swift >> 和屌丝一起学SWIFT-方法

和屌丝一起学SWIFT-方法

[ 孤狼 | 2016-04-26 20:40:58 | Swift | 2650°C | 0条评论 ]

声  明

       本教程仅用于初学SWIFT同学使用,内容由本人(孤狼)学习过程中笔记编写,本教程使用SWIFT版本为2.0。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。PAEA.CN版权所有。


Hello,欢迎回到和屌丝一起学SWIFT系列教程中来,上节我们说了属性,这节我们来一起学习另一个和类相关的东西-方法.这节与上节都属于类的功能扩展,所以也很重要,Let's go

 

 

 

方法


方法,简单的来说,就是一个类或一个结构体里面的函数,这个函数就是这个类或这个结构体的一个方法.这里与OC不同的是,SWIFT,,结构体,枚举都可以定义方法.

 

 

[实例方法]

实例方法就是类或结构体或枚举内定义的一个具有一定功能的函数.定义的方法和函数一致,使用关键字 func 来定义,只不过要在类或结构体内部定义.

class A{
var num=0;
func zou() {
num += 1;
}
func out(){
print(num);
}
}
var a=A();
a.zou();
a.zou();
a.out();
//输出 "2";


 

[self]

在方法中,我们获取本实例中的变量的时候,可以在变量前加上关键字 self 来确定使用本实例的变量,一般情况不需要添加便默认使用本身实例的变量,但是如果参数与本实例中的变量重名,就需要使用 self 来区别.

class B{
var num=0;
func b1(num:Int){
if(num>self.num){
print("大了");
}
}
}
var b=B();
b.b1(2);
//输出"大了"

 

 

[mutating]

在结构体及枚举类型中,实例中的属性不能直接修改,我们需要用变异关键字 mutating 来修饰方法

struct C{
var num=0;
mutating func c1(){
print(num);
}
}
var c=C();
c.c1();
//输出"0"


 

TIP:不论是类,结构体还是枚举,方法中修改常量均是无效的哦.

 

 

[类型方法]

顾名思义,这个方法不再是实例使用的,而是类本生使用的,一些情况下,我们可能会直接更新类来处理一些事情.定义类型方法,我们使用关键字 static.

struct D{
static var dnum=0;
var outnum=dnum;
static func d1(num:Int){
self.dnum=num;
}
}
var d1=D();
print(d1.outnum); //输出"0"
D.d1(10); //调用类型方法,这个类被改变
var d2=D();
print(d2.outnum); //输出"10"


 

本节代码下载


转载请注明出处:http://gl.paea.cn/n.php?n=92
 
如您看得高兴,欢迎随意投喂,让我们坚持创作!
赞赏一个鸡腿
还没有人留下遗迹
综合 · 搜索