Swift
文章平均质量分 63
Swift基础,进阶学习笔记。
iOS猎人笔记
作者曾先后就职于美团、网易云音乐,CSDN目前主要汇集了我个人多年的学习笔记总结与记录、真实的开发经验整理,一方面便于以后自己翻查,另一方面希望可以帮助到大家,有问题欢迎指出。
展开
-
iOS开发笔记之九十九——POP编程之Type Erasure
*****阅读完此文,大概需要10分钟******原创 2023-04-01 21:38:18 · 256 阅读 · 0 评论 -
iOS开发笔记之九十五——Swift中的常见高阶函数及实现
本文将介绍这些函数的原理和用法。map是一种常见的高阶函数,它可以将一个集合中的每个元素映射到另一个集合中,然后返回一个新的集合。filter是一种常见的高阶函数,它可以从一个集合中过滤出符合条件的元素,然后返回一个新的集合。在这个例子中,我们将一个包含三个数组的数组扁平化成一个单一的数组,然后将结果存储在一个新的数组中。在这个例子中,我们将原始的数组中的所有偶数元素过滤出来,然后将结果存储在一个新的数组中。在这个例子中,我们将原始的数组中的每个元素乘以2,然后将结果存储在一个新的数组中。原创 2023-02-14 14:51:29 · 414 阅读 · 0 评论 -
iOS开发笔记之九十四——Swift中的可选类型Optional
一、Optional类型的概念Swift中为何要引入Optional的概念,官方文档中有介绍:Swift also introduces optional types, which handle the absence of a value. Optionals say either “thereisa value, and it equalsx” or “thereisn’ta value at all”. Using optionals is similar to using...原创 2021-09-23 17:04:35 · 4630 阅读 · 0 评论 -
iOS开发笔记之九十三——Swift中的fallthrough关键字
Fallthrough是Swift语言的一种新特性,由于Swift语句可以省略break的关键字,而且它不会继续往下执行。但是在其他语言中省去break会顺序执行,直到碰到break或者default才完成。Swift语言为了更加灵活的应对多种场景,提供了fallthrough关键字供我们选择使用。演示示例如下:var index = 10switch index { case 100 : print( "index为100") case 10,15 :原创 2021-09-14 16:02:49 · 3043 阅读 · 0 评论 -
iOS开发笔记之九十二——Swift中的guard关键字
guard中文有"守护"的意思,guard关键字在官方文档中的具体解释如下:“A guard statement, like an if statement, executes statements depending on the Boolean value of an expression. You use a guard statement to require that a condition must be true in order for the code after the gua原创 2021-09-14 15:23:07 · 3433 阅读 · 0 评论 -
iOS开发笔记之九十一——Swift中的mutating关键字
mutating单词翻译过来有“可变化,可改变”的意思。它主要用在Swift中的:结构体(struct)、枚举(enum) 扩展(extension)、协议(protocol)中修饰方法Swift结构体(struct)、枚举(enum) 中均可以包含类方法和实例方法Swift官方是不建议在结构体(struct)、枚举(enum)的普通方法里修改属性变量。但是,在方法前面添加 mutating 关键字之后就可以在对应的 mutating代理方法内修改。示例1:protocol Per原创 2021-09-14 11:07:55 · 8093 阅读 · 0 评论 -
iOS开发笔记之九十——在OC项目中支持Swift
*****阅读完此文,大概需要5分钟******这个过程不复杂,但是有些问题遇到了可能就会捣弄很久,特此输出此文,希望可以帮助大家快速解决相应的问题。一、配置步骤1、主项目中添加工程名-Bridging-Header.h这一步可以如其他文章介绍的那样,先添加Test.swift然后,Xcode会提醒你添加对应的-Bridging-Header文件的。2、配置工程Build Settings设置Defines Module为Yes 设置Podfile,如下:use_modular原创 2021-08-19 11:18:15 · 11715 阅读 · 1 评论 -
iOS开发笔记之八十七——Swift中的值类型
*****阅读完此文,大概需要3分钟******这一概念在OC中就已经存在。Struct可以想像class一样定义属性、方法,可以遵循协议,支持扩展等。一、值类型(struct)与引用类型(class)的不同点1、内存管理方式不同,值类型一般分配在栈上,引用类型一般分配在堆上。这就意味着引用类型分配与释放将会是个复杂的过程,值类型一般没有析构方法;2、引用类型有丰富的对象行为,可以继承,被多个所有者同时持有。将一个引用赋值给一个新的变量或者传递给一个函数的时候,它们都指向同一个实例。3、原创 2021-08-06 18:44:13 · 13177 阅读 · 0 评论 -
iOS开发笔记之八十九——Swift中的闭包
*****阅读完此文,大概需要5分钟******一、闭包的基本概念与写法1、Swift中闭包需要对比OC的block:OC的基本定义与写法:返回值(^闭包名称)(参数类型 参数名) = ^(参数类型 参数名){函数体};void(^XXBlock)(int a) = ^(int a){ NSLog(@"hello");};Swift基本定义与写法: {(参数:参数类型)->返回值类型 in 函数体}如果设置了返回值,记得返回对应类型的值let test =..原创 2021-08-17 19:23:06 · 11448 阅读 · 1 评论