Swift基础--方法

swift中方法分为实例方法和静态方法,方法时于默写特定类型相关联的函数.类,结构体,枚举都可以定义实例方法,也可以定义静态方法.

一,实例方法

实例方法: 给特定类型实例封装的具体功能函数. 实例方法使用与类,结构体,枚举

1.1,使用类中定义的实例方法

首先在勒种定义方法,然后通过创建类的实例,是哪个"实例.方法名"即可调用,如:

class Player {func run() {print(" run.........")}
}let player = Player()
player.run()
out:
run.........
复制代码

1.2,使用结构体中定义的实例方法

首先在结构体中定义方法,要在定义的方法前添加关键字"mutating"来声明这个方法是"变异方法",如果在此方法中还要钓友结构体中的属性,则必须在调用属性前添加"self."来证明属性来源于此结构体.然后通过创建类的实例,使用"实例.方法名"进行调用,如:

struct Point {var x:CGFloat = 0, y: CGFloat = 0mutating func safeZone(x: CGFloat, y: CGFloat) {self.x = xself.y = yprint("x:\(x), y:\(y)")}
}var point = Point()
point.safeZone(x: 100, y: 100)
out:
x:100.0, y:100.0
复制代码

1.3 使用枚举中定义的实例方法

枚举中定义的实例方法和结构体一样,要在定义的方法前添加"mutating"关键字来声明这个方法时"变异方法",如果在此方法中还要调用枚举中的匹配枚举值,则必须使用"self"来证明匹配枚举值来源于此枚举,然后通过创建枚举的实例来调用方法,如:

enum Duration {case east,south,west,northmutating func getDuration() {print("duration:\(self)")switch self {case .east:self = .westcase .south:self = .northcase .west:self = .eastcase .north:self = .south}print("对立的方向:\(self)")}
}var duration = Duration.east
duration.getDuration()
out:
对立的方向:west
复制代码

二,静态方法

静态方法: 不用创建特定类型的实例就能调用的具体功能函数 静态方法适用于类,结构体

2.1 使用类中定义的静态方法

首先在勒种定义方法,通过在方法名前添加关键字"class" 或"static",然后使用"类名.方法名" 即可调用,如果方法中包含调用属性,此属性必须是静态属性(静态属性也是在普通属性前面添加关键字 "static"),如:

class People {static var name: String = "kobe"static func getName() {print("name:\(name)")}
}People.getName()
out:
name:kobe
复制代码

2.2 使用街骨头中定义的静态方法

通过在方法名前添加关键字"static",然后使用"结构体.方法名"即可调用,如果方法中包含调用属性,那么此属性必须是静态属性(静态属性也是在普通属性前面添加关键字 "static"),如:

struct Z {static var z: CGFloat = 0static func getZ() {print("z:\(z)")}
}
Z.getZ()
out:
z:0
## hi 各位大佬,如果您喜欢我的文章,可以在以下平台关注我
[个人网站](https://shunyangsky.com)微博:[顺扬sky](https://weibo.com/2445151355/profile?topnav=1&wvr=6&is_all=1) 简书:[顺扬sky](https://www.jianshu.com/u/163fccb10ca5)掘金:[顺扬sky](https://juejin.im/user/59a67546518825241e223768)[CSDN博客](https://me.csdn.net/u011137073)复制代码

Swift基础--方法相关推荐

  1. 2个字符串相等 swift_Swift快速入门(一)之 Swift基础语法

    Swift快速入门(一)之 Swift基础语法 近期重新学习了一遍Swift语言,主要以<Swift编程权威指南(第2版)>为教程,学习过程中结合比对Java语言特性将学习心得作为三篇笔记 ...

  2. Swift基础——数组Array

    Swift基础--数组Array 数组:使用有序列表存储同一类型的多个值,相同值可出现在一个数组的不同位置. 数组简介 首先,和String一样我们也来看看他的一些Api方法 常规操作方法 rever ...

  3. Swift基础入门知识学习(12)-枚举(列举)-讲给你懂

    TED演讲的8个秘诀:学习18分钟高效表达-重点笔记 Swift基础入门知识学习(11-2)-閉包-第二篇-讲给你懂 目录 枚举(列举)语法 使用 Switch 语句匹配枚举(列举)值 相关值 原始值 ...

  4. 从零开始的iOS开发:00 | Swift基础语法(上)

    目录 一.开发环境 二.关于Swift (一)Swift简介 (二)Swift特性 (三)结语 三.Swift基础语法 (一)编程准备 (二)Hello,world! (三)简单值 1.变量与常量 2 ...

  5. Swift 基础 UIFont, 字体, 斜体, 字体库的使用(源码)

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹.靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希 ...

  6. Swift基础入门知识学习(7)-字典-讲给你懂

    Swift基础入门知识学习(6)-数组(阵列)-讲给你懂 目录 声明字典 创建一个空字典 存取与修改字典 使用for-in遍历字典中的所有值 字典转换为数组 Swift字典(dictionary) 用 ...

  7. Swift基础知识概述

    第二章: Swift基础知识概述 1. 三件事 学习Swift语言 学习Xcode 理解ios开发组件,API.SwiftUI.SDK等 从以上三个方面自己修练.不用担心. 2. 开始学习 首先看一段 ...

  8. Swift基础 - - 高德地图实践

    高德地图开发需要自己到官网http://lbs.amap.com/console/ 注册一个ak,新建一个swift工程,然后在Info.plist中添加一个NSLocationAlwaysUsage ...

  9. java方法的传递方式_JAVA基础--方法传参

    JAVA基础--方法传参 为啥拿这个当话题? 在初学者阶段,许多童鞋都对方法传参比较迷茫,知其然不知其所以然. 一.先说说参数传递的几个术语: 值调用(call by vale):表示方法接收的是调用 ...

最新文章

  1. kali linux 下载百度云大文件
  2. 机器学习-特征中的相关性及相关系数、卡方检验、互信息
  3. 数学建模——智能优化之遗传算法详解Python代码
  4. @interface使用详解
  5. Java Integer类toString()方法与示例
  6. 机器学习与计算机视觉(开篇)
  7. 使用 ONNX 模型做预测
  8. WIN32:参考文章
  9. 【洛谷3368】树状数组模版题(区间修改,单点查询)
  10. GP数据库(Greenplum)单机版安装
  11. Matlab之isprime与find函数
  12. 职称论文发表格式要求
  13. 28python成功输出腾讯位置大数据北京地区迁出数据
  14. Python Turtle 小项目11 玫瑰曲线
  15. cubeIDE开发, UART的CubeMX及HAL库实现原理及底层分析
  16. #23. 战棋游戏——Yucai OJ第17次测试
  17. CAD制图软件使用心得(第三期)
  18. 2022年清华大学计算机考研复试时间及要求分别是什么
  19. 数据库查询优化的方式
  20. linux snmp cpu 内存,linux – SNMP内存值与`free`不匹配

热门文章

  1. Mozilla开发全新的公开网络API WebXR 来实现增强现实
  2. PostgreSQL数据类型-枚举类型、几何类型、网络地址类型和其他数据类型
  3. HDU2106 decimal system
  4. cisco 动态多点***原理
  5. 分享一个我现在用的Eclipse(ZendStudio)的PHP黑色背景主题,喜欢的请留言拿走。...
  6. 開啟 Excel 檔案出現錯誤訊息【Windows 找不到檔案路徑
  7. jQuery学习笔记--目录
  8. Spring Boot CMI 使用笔记
  9. 10 分钟上手 Vim,常用命令大盘点
  10. java 防渗透_「java、工程师工作经验怎么写」-看准网