当前位置: 首页>编程语言>正文

swift 数组转model swift字符串转数组

Swift 提供了C和Objective-C基础类型的自己一套版本,包括用于整型的Int,用于浮点值的Double和Float,用于布尔值的Boolean,和用于文本数据的String。Swift还提供了Array和Dictionary这两种集合类型的增强版本。

我们知道在iOS开发中用的最多的基础类型可能就数字符串了,以及一些集合类型的使用,下面我们来简单学习下字符串String以及Array、Dictionary等集合类型的使用方法

 

一、字符串 

1、字符串的字面量 , 例如"jeck"字面量

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_字符串,第1张

 

2、swift中的字符串和OC中的字符串的区别

Swift中的字符串没有可变类型和不可变类型之分,在swift中,字符串到底可变不可变, 取决于声明变量的类型,如果定义的是let就是不可变,假如定义的是var就是可变

Swift中的字符串是值类型 , 而OC当中,不加特殊声明的话是引用类型,不用担心内存问题,Swift已经做好了优化,

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift_02,第2张

 

3 、Swift中可变类型和OC中的NSString做了完美的对接,换句话说,就是swiftStrig可以使用NSString的方法

下面简单介绍下String的一些使用方法:

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_03,第3张

  

4、字符串插值

 在swift输出语句中没有格式化占位符,想要实现这样的效果,我们要用到字符串插值格式:"\()"

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_04,第4张

 

二、swift中的集合

swift中的集合和OC中的集合的区别:

  1、在swift中的集合类也都是值类型,而OC当中的是引用类型

  2、在swift中,也是使用引用计数的概念来管理内存的,但是引用计数只适用于对象类型,值类型不需要管理

  3、在swift中,引用计数管理内存的方法与OC当中引用计数管理内存的方法,还是不同的 (见后面内容)

  4、在swift中数组是可以存放任意类型,但是OC中,只能存放对象类型

 

1、数组(Array)

 

  在swift中,Array也没有可变和不可变类型之分,而且取决于用什么关键字来修饰,var就是可变,let就是不可变 

  在swift中,使用字面量来给一个数字赋值

 

  当我们事先声明数组中元素的类型,内部元素必须一致

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_字符串_05,第5张

 

当然我们也可以像下面这样写:

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_数组_06,第6张

 

下面我们来分别介绍下数组元素的增、删、改、查:

(1)、数组增加元素

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_字符串_07,第7张

 

(2)、数组删除元素

通过下面面的方法来删除指定下标的元素

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift_08,第8张

 

(3)、 改变数组中的元素

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_数组_09,第9张

  

(4)、数组查询

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_10,第10张

 

数组的初始化,声明存储固定类型的数组

 

1、

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_数组_11,第11张

2、

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_12,第12张

 

使用构造方法创建的是由一个特定数据类型构成的数组

 

 

2、字典(Dictionary)

使用字面量来给字典进行赋值

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_数组_13,第13张

 

1、字典键值对的增加

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_数组_14,第14张

 

2、字典键值对的删除

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_15,第15张

 

3、字典键值对的修改

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_16,第16张

 

4、字典键值对的查询

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_数组_17,第17张

 

打印结果如下:

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_字符串_18,第18张

 

字典初始化的方式也有两种

使用字典初始化方式进行创建的是固定键值类型的字典

 

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift 数组转model_19,第19张

 

 

Swift和OC中集合对比

在OC中,我们常用的数组和字典都是引用类型,而Swift中是值类型,这是因为在Swift中,这些结合类的底层都是struct

 枚举值类型,函数,闭包是引用类型

swift 数组转model swift字符串转数组,swift 数组转model swift字符串转数组_swift_20,第20张

 

 



https://www.xamrdz.com/lan/52k1963023.html

相关文章: