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 ...
随机推荐
- R语言入门视频笔记--10--数据挖掘
这里来挖掘超市购物车数据. 名词: 1.挖掘数据集:购物篮数据 2.挖掘目标:关联规则 3.关联规则:牛奶=>鸡蛋[支持度=2%,置信度=60%] 4.指出度:分析中的全部事务的2%同时购买了牛 ...
- Linux编译安装Apache+PHP
Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安 ...
- Maven单元测试
// SKU码:系列前3位+6位年月日+3位序号(自动生产,取数据库中当天最大的,没有就赋值位001) // 订单编号:BRD+6位年月日+5位序号 // // 退单号:BRT+6位年月日+3位序号 ...
- [bzoj5457]城市_dsu on tree
bzoj 5457 城市 题目大意 给定一棵以\(1\)为根的\(n\)个节点的有根树. 每个节点有一个民族和该民族在当前节点的人数. 有\(n\)个询问,第\(i\)个询问是求以\(i\)为根的子树 ...
- CDOJ_844 程序设计竞赛
原题地址:http://acm.uestc.edu.cn/#/problem/show/844 "你动规无力,图论不稳,数据结构松散,贪心迟钝,没一样像样的,就你还想和我同台竞技,做你的美梦 ...
- CentOS6.5升级手动安装GCC4.8.2 与 CentOS 6.4 编译安装 gcc 4.8.1
http://blog.163.com/zhu329599788@126/blog/static/6669335020161179259975 http://www.cnblogs.com/codem ...
- Oracle SQL Developer Chanage UI to US Lanaguage
\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\sqldeveloper\bin Add content: AddVMOption -Duser.country= ...
- cocos2d-x 3.0 final 移植 android
准备工作 你仅仅要依照上一篇的 cocos2d-x 3.0 final 环境搭建 完毕就能够了 1.编辑proj.android\jni\Android.mk,更改内容例如以下 LOCAL_PATH ...
- weexapp 开发流程(三)其他页面创建
1.首页 (1)轮播图 步骤一:创建 轮播图 组件(Slider.vue) src / assets / components / Slider.vue <!-- 轮播图 组件 --> & ...
- C++对象模型——Default Constructor的建构操作(第二章)
第2章 构造函数语意学 (The Semantics of Constructor) 关于C++,最常听到的一个抱怨就是,编译器背着程序猿做了太多事情.Conversion运算符就是最常被引用的 ...