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等集合的使用的更多相关文章

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

    原文:Swift语言指南(十)--字符串与字符 字符串是一段字符的有序集合,如"hellow,world"或"信天翁".Swift 中的字符串由 String ...

  2. 一份关于Swift语言学习资源的整理文件

    一份关于Swift语言学习资源的整理文件     周银辉 在这里下载 https://github.com/ipader/SwiftGuide

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

    字符串链接:Swift语言中的字符串连接方式本人觉得非常的有趣,变量连接需要用右斜杠,并且变量名要括起来 “\(变量名)”,后面的字符串连接分别用逗号 ‘ , ’ 隔开 数组: Var arr = [ ...

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

    原文:Swift语言指南(四)--类型安全和类型推断 Swift是一门类型安全语言,类型安全语言需要代码里值的类型非常明确.如果你的代码中有部分值需要String类型,你就不能错误地传递Int. 鉴于 ...

  5. Swift语言学习

    因为想要学Mac os x编程,中文教材太少了,看了很多厉害的英文教材,很多都是swift语言的了,所以决定先要大体学一下swift语言. 学习一门语言,第一件事看swift官方文档,这里附上Coco ...

  6. swift语言学习博文精选

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

  7. 【Swift】从零开始的Swift语言学习笔记-1:前言&Hello World

    该系列分为两个大的部分. Swift基本语法 使用Xcode编写iOS应用程式 两个部分会双线并行更新. 本人的学习资料大多为Apple Develop官方上的生肉,难免会有疏漏,望斧正. 另外该系列 ...

  8. Swift语言学习之OC和Swift混编

    本文转自http://www.helloswift.com.cn/swiftbase/2015/0112/3469.html iOS OC和Swift混编 1.创建一个swift或者oc的工程:我这里 ...

  9. Swift语言学习之学习资源

    (1) http://swift.sh (2) Let's Swift – WRITE THE CODE. CHANGE THE WORLD. http://letsswift.com (3)http ...

随机推荐

  1. ⑨要写信(codevs 1697)

    题目描述 Description 琪露诺(冰之妖精)有操控冷气的能力.能瞬间冻结小东西,比普通的妖精更危险.一直在释放冷气的她周围总是非常寒冷. 由于以下三点原因…… 琪露诺的符卡 冰符“Icicle ...

  2. BZOJ 2973 入门OJ4798 石头游戏

    矩阵递推 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring ...

  3. 金鹰dreamweaver视频教程下载地址

    原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] http://download2.gbaopan.com/c188aecb5e524ab2b2a484c061e0 ...

  4. hdu 4883

    简单题,当时竟然没有敲出来╮(╯▽╰)╭... 方法:每个时间点排序从小到大排序,之后扫一遍即可:是进的时间点就加人,反之出人.更新最大值即可....囧... #include<iostream ...

  5. centos7 安装teamviewer 报错libQt5WebKitWidgets.so.5()(64bit)

    https://blog.csdn.net/kenny_lz/article/details/78884603

  6. Codeforces 837 E Vasya's Function

    Discription Vasya is studying number theory. He has denoted a function f(a, b) such that: f(a, 0) =  ...

  7. htmlcxx取指定字段实例

    #include <string> #include <iostream> #include <sstream> #include <htmlcxx/html ...

  8. Spring MVC集成Spring Data Reids和Spring Session实现Session共享出现:No bean named 'springSessionRepositoryFilter' available

    出现这个问题:No bean named 'springSessionRepositoryFilter' available的的原因: 1.Spring MVC加载了多个配置文件导致的,并不是版本问题 ...

  9. 【Windows7】win7启动 报错 AutoIt错误,不能打开脚本文件

    解决方法: 1.开始-->运行-->regedit 2.按照下图 3.

  10. 临远的spring security教程

    为啥选择Spring Security 欢迎阅读咱们写的Spring Security教程,咱们既不想写一个简单的入门教程,也不想翻译已有的国外教程.咱们这个教程就是建立在咱们自己做的OA的基础上,一 ...