iOS开发Swift篇—(十)方法
iOS开发Swift篇—(十)方法
一、简单说明
跟其他面向对象语言一样,Swift中的方法可以分为2大类:
(1)实例方法(Instance Methods)
在OC中,实例方法以减号(-)开头
(2)类型方法(Type Methods)
在OC中,类型方法以加号(+)开头
二、实例方法
1.什么是实例方法?
实例方法:就是只能用对象实例调用的方法,也可以称为“对象方法”
实例方法的语法跟函数基本一样
2.代码示例:
class Dog {
func run() {
println("Dog--->run")
}
}
var d = Dog()
d.run()
说明:
第2行定义了一个run方法
第7行调用run方法:调用方法也跟调用函数很像,格式是“对象名.方法名(参数)”
三、方法的参数
(1)方法和函数的参数有点区别,默认情况下
方法的第1个参数名仅仅是局部参数名
方法的其他参数名(除第1个参数名以外)既是局部参数名,又是外部参数名
class Calculator {
func sum(num1: Int, num2: Int) -> Int {
return num1 + num2
}
}
var c = Calculator()
c.sum(, num2: )
说明:
num1仅仅是局部参数名,num2既是局部参数名,又是外部参数名
相当于func sum(num1: Int, #num2: Int) -> Int
(2)可以在参数名前面加个下划线 _,去掉默认的外部参数名
class Calculator {
func sum(num1: Int, _ num2: Int) -> Int {
return num1 + num2
}
}
var c = Calculator()
c.sum(, )
说明:num1、num2都仅仅是局部参数名,不是外部参数名
(3)也可以给第1个参数增加外部参数名
class Calculator {
func sum(#num1: Int, num2: Int) -> Int {
return num1 + num2
}
}
var c = Calculator()
c.sum(num1: , num2: )
说明:num1、num2既是局部参数名,又是外部参数名
四、类型方法
1.什么是类型方法?
被关键字class修饰的方法,也可以称为“类方法”
class Calculator {
class func sum(num1: Int, num2: Int) -> Int {
return num1 + num2
}
}
Calculator.sum(, num2: )
说明:
第2行定义了一个类型方法
类型方法的特点:直接用类调用类型方法,不能用对象调用类型方法
第6行调用类型方法,格式是“类名.方法名(参数)”
注意:类型方法和实例方法的方法名可以一样
class Calculator {
class func sum(num1: Int, num2: Int) -> Int {
return num1 + num2
}
func sum(num1: Int, num2: Int) -> Int {
return num1 + num2
}
}
Calculator.sum(, num2: )
var c = Calculator()
c.sum(, num2: )
说明:
第2行定义的类型方法和第5行定义的实例方法:方法名一样
第9行使用类调用类型方法
第11行使用对象调用实例方法
五、self
1.简单说明
在每个方法内部,都有个隐含的属性self,它的作用跟Objective-C中self的用法基本一致
self代表的是什么?谁调用这个方法,self就代表谁
(1)在实例方法中:self代表调用方法的某个对象
(2)在类型方法中:self代表调用方法的某个类
2.代码示例
class Person {
class func run() {
println("class func run")
}
func run() {
println("func run")
}
class func test() {
self.run();
}
func test() {
self.run();
}
}
var p = Person()
p.test()
Person.test()
程序的输出结果是:
func run
class func run
iOS开发Swift篇—(十)方法的更多相关文章
- 李洪强iOS开发Swift篇—10_方法
李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...
- iOS开发Swift篇—(四)运算符
iOS开发Swift篇—(四)运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符: ...
- iOS开发Swift篇—(八)函数(2)
iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...
- iOS开发Swift篇—(九)属性
iOS开发Swift篇—(九)属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个. ...
- iOS开发Swift篇(02) NSThread线程相关简单说明
iOS开发Swift篇(02) NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThread在s ...
- 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明
李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...
- 李洪强iOS开发Swift篇—09_属性
李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要 ...
- 李洪强iOS开发Swift篇—08_函数(2)
李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...
- 李洪强iOS开发Swift篇—04_运算符
李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...
随机推荐
- dede 数据库类使用列表
dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了. 引入common.inc.php文件 require_once (dirname(__FI ...
- Datatable的查找和排序(Datatable.Select)
Datatable 是一种常用的数据结构.数据类型有点类似于数据库中的表结构.在没有使用优秀的orm框架前,大部分的数据库的数据都是先变为Datatable 然后再通过代码转换变成 object. ...
- SQL2005中的事务与锁定(六) - 转载
------------------------------------------------------------------------ -- Author : HappyFlyStone - ...
- Windows便笺 快捷键
便笺快捷键 便笺快捷键多数与Office相同 Ctrl+N 新建 Alt+F4 关闭便笺,下次打开内容还在 Ctrl+D 删除 Ctrl+E 居中 Ctrl+R 右对齐 Ctrl+L 左对齐 Ctrl ...
- Myeclipse8.5 最新注册码以使用方法(可以用到2015年!!!)
已破解的一组,复制即可!(注册码到2015年哦!) name:LIKEcode:YLR8ZC-855550-6067725176540043 使用方法:把注册码贴到Window-->prefer ...
- 【request_firmware】 linux内核下载模块固件接口【转】
转自:http://blog.csdn.net/magod/article/details/6049558 [-] 8 处理固件 1481 内核固件接口 1482 它如何工作 14.8. 处理固件 作 ...
- _vimrc默认配置
"不使用兼容vi的模式set nocompatible source $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbeh ...
- centos 基本操作(快捷键开户终端,复制,粘贴,yum命令)
centos 开启终端默认时不禁止的,所以得手动开启(可自定义键盘)菜单:System->Preferences->Keyboard Shortcuts在Desktop分类下找到“Run ...
- 【Redis】Redis的基本安装及使用
在Linux上安装Redis Redis的安装很简单.基本上是下载.解压.运行安装脚本.我用的Redis版本是3.2.1. [nicchagil@localhost app]$ wget -q htt ...
- Windows Store Apps, Error: The certificate specified has expired.(转)
Windows Store Apps, Error: The certificate specified has expired. 0 comments|Posted on October 7th, ...