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
枚举值类型,函数,闭包是引用类型
iOS技术交流群 461069757 欢迎加入
Swift语言学习(四)字符串与Array等集合的使用的更多相关文章
- Swift语言指南(十)--字符串与字符
原文:Swift语言指南(十)--字符串与字符 字符串是一段字符的有序集合,如"hellow,world"或"信天翁".Swift 中的字符串由 String ...
- 一份关于Swift语言学习资源的整理文件
一份关于Swift语言学习资源的整理文件 周银辉 在这里下载 https://github.com/ipader/SwiftGuide
- Swift语言—有趣的字符串连接、数组、字典
字符串链接:Swift语言中的字符串连接方式本人觉得非常的有趣,变量连接需要用右斜杠,并且变量名要括起来 “\(变量名)”,后面的字符串连接分别用逗号 ‘ , ’ 隔开 数组: Var arr = [ ...
- Swift语言指南(四)--类型安全和类型推断
原文:Swift语言指南(四)--类型安全和类型推断 Swift是一门类型安全语言,类型安全语言需要代码里值的类型非常明确.如果你的代码中有部分值需要String类型,你就不能错误地传递Int. 鉴于 ...
- Swift语言学习
因为想要学Mac os x编程,中文教材太少了,看了很多厉害的英文教材,很多都是swift语言的了,所以决定先要大体学一下swift语言. 学习一门语言,第一件事看swift官方文档,这里附上Coco ...
- swift语言学习博文精选
初探swift语言的学习笔记九(OC与Swift混编) Objective-C 与 Swift 混编之路 Swift项目兼容Objective-c问题汇总
- 【Swift】从零开始的Swift语言学习笔记-1:前言&Hello World
该系列分为两个大的部分. Swift基本语法 使用Xcode编写iOS应用程式 两个部分会双线并行更新. 本人的学习资料大多为Apple Develop官方上的生肉,难免会有疏漏,望斧正. 另外该系列 ...
- Swift语言学习之OC和Swift混编
本文转自http://www.helloswift.com.cn/swiftbase/2015/0112/3469.html iOS OC和Swift混编 1.创建一个swift或者oc的工程:我这里 ...
- Swift语言学习之学习资源
(1) http://swift.sh (2) Let's Swift – WRITE THE CODE. CHANGE THE WORLD. http://letsswift.com (3)http ...
随机推荐
- 洛谷 [P4035] 球形空间生成器
高斯消元 注意浮点误差,判断一个浮点数是否为 0 的时候,看他的绝对值与 \(10^{-8}\)的关系 #include <iostream> #include <algorithm ...
- 标准C程序设计七---11
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- synchronized初识
作用域: 1.对象实例内--->People jack = new Jack(); ①此作用域内的synchronized锁 ,可以防止多个线程同时访问这个对象的synchronized方法 ② ...
- Maven项目配置外部依赖(本地依赖)
加入有一些公共jar包只限于公司内部使用,不能暴露在外部时,有如下的方案: 1.搭建私有远程仓库(nexus) 2.使用http.ftp.共享地址,github地址等(主要是通过maven-deplo ...
- 10分钟学会前端工程化(webpack4.0)
一.概要 1.1.前端工程化 随着前端的不断发展与壮大,前端变得越来越复杂,组件化.模块化.工程化.自动化成了前端发展中不可或缺的一部分,具体到前端工程化,面临的问题是如何提高编码->测试-&g ...
- Go -- 交叉编译
编译Windows程序和mac程序
- JS创建对象几种不同方法具体解释
1.工厂模式 弊端:没有解决对象的识别问题,即怎么知道一个对象的类型. 2.构造函数模式 与工厂模式相比: 1.没有显式的创建对象 2.直接将属性和方法赋给了this对象 3.没有return语句 要 ...
- Andriod DiskLruCache的使用案例
DiskLruCache是谷歌推荐的用来实现硬盘缓存的类,本案例将对DiskLruCache的基本用法做一个总结,包括:创建缓存.查找使用缓存.移除缓存等等. 实现效果图 创建DiskLruCache ...
- phpExcel大数据量情况下内存溢出解决
版本:1.7.6+ 在不进行特殊设置的情况下,phpExcel将读取的单元格信息保存在内存中,我们可以通过 PHPExcel_Settings::setCacheStorageMethod() 来设置 ...
- 关于使用openfiler作为共享存储来安装rac时的问题
关于使用openfiler作为共享存储来安装rac时的问题 第一:一定要使用openfiler-2.3-x86-disc1.iso这个版本号的openfiler,不要使用其它版本号的openfiler ...