Swift语言学习(四)字符串与Array等集合的使用

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

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

一、字符串 

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

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

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

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

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

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

4、字符串插值

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

二、swift中的集合

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

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

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

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

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

1、数组(Array)

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

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

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

 

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

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

(1)、数组增加元素

(2)、数组删除元素

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

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

(4)、数组查询

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

1、

2、

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

2、字典(Dictionary)

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

1、字典键值对的增加

2、字典键值对的删除

3、字典键值对的修改

4、字典键值对的查询

打印结果如下:

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

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

Swift和OC中集合对比

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

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

时间: 2024-09-29 05:36:27

Swift语言学习(四)字符串与Array等集合的使用的相关文章

Swift语言指南(十)--字符串与字符

原文:Swift语言指南(十)--字符串与字符 字符串是一段字符的有序集合,如"hellow,world"或"信天翁".Swift 中的字符串由 String 类型表示,对应着 Character 类型值的集合. Swift 中的 String 类型为你的编程提供了一个高速的,兼容 Unicode规范 的文本处理方式.Swift 创建和处理字符串的语法轻量可读,与 C 语言的字符串语法颇为相似.字符串的拼接非常简单,只需将两个字符串用 + 运算符相加.字符串的值是否

Swift语言指南(四)--类型安全和类型推断

Swift是一门类型安全语言,类型安全语言需要代码里值的类型非常明确.如果你的代码中有部分值需要String类型,你就不能错误地传递Int. 鉴于Swift的类型安全,编译代码时,Swift会执行类型检查并将任何类型不匹配的地方标记为错误,使你在开发当中尽可能早的捕获并修正错误. 类型检查有助于你在操作不同值的类型时避免犯错.但这并不意味着你必须在声明每一个常量或变量时去检查类型,如果你不检查所需值的类型,Swift会执行类型推断来计算出相应地类型. 类型推断让编译器在编译代码时,根据你提供的值

R语言学习(5)-字符串和因子

字符串和因子 1.字符串 创建字符串 > c("HELLO","WORLD") [1] "HELLO" "WORLD" 使用paste函数连接字符串 > paste(c("hello","hi"),"world") [1] "hello world" "hi world" > paste(c("hel

Swift语言—有趣的字符串连接、数组、字典

字符串链接:Swift语言中的字符串连接方式本人觉得非常的有趣,变量连接需要用右斜杠,并且变量名要括起来 “\(变量名)”,后面的字符串连接分别用逗号 ‘ , ’ 隔开 数组: Var arr = [“Hello” , “adong” , 100 , 2 , 6] Println(arr) Var arr1 = []                    //声明空的数组 Var arr2 = String[]()    //声明空的数组,特定string类型 字典: Var dict = [“

【iOS开发每日小笔记(六)】Swift语言学习的入门随想

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

swift语言学习博文精选

初探swift语言的学习笔记九(OC与Swift混编) Objective-C 与 Swift 混编之路 Swift项目兼容Objective-c问题汇总

初步swift语言学习笔记9(OC与Swift杂)

笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 假设认为文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! swift 语言出来后,可能新的项目直接使用swift来开发.但可能在过程中会遇到一些情况.某些已用OC写好的类或封装好的模块.不想再在swift 中再写一次.哪就使用混编.这个在IOS8中是同意的. 先中简单的入手,先研究在同一个project

python语言学习8——字符串和编码

Unicode编码 计算机只能处理数字,如果要处理文本,就必须把文本转化为数字才能处理 有许多编码标准,但是不同的编码标准有时候会混乱,所以Unicode应运而生 Unicode把所有语言统一到一套编码里,这样就不会再有乱码问题 ASCII编码和Unicode编码的区别: ASCII编码是1个字节,而Unicode编码通常是2个字节. 字母A用ASCII编码是十进制的65,二进制的01000001: 字符0用ASCII编码是十进制的48,二进制的00110000,注意字符'0'和整数0是不同的:

Swift语言学习之OC和Swift混编

本文转自http://www.helloswift.com.cn/swiftbase/2015/0112/3469.html iOS OC和Swift混编 1.创建一个swift或者oc的工程:我这里是创建的Swift语言的工程,工程名SwiftTest 2.在工程中代码目录下创建一个oc的类,选择oc语言, 会出一个对话框,选择YES          3.这时会在工程里看到下图这样一个头文件           4.在这个头文件里添加你的OC文件的.h文件,就可以在任意swift文件中自行调