Swift -2 字符串与集合

原创 2015年11月19日 11:01:46

字符

1.单个字符来指定字符常量,如”A”,”9”
2.转义字符表示特殊字符常量,如”\n”,”\t”
3.使用\u{n}的Unicode形式,n代表一个1~8为的十六进制数
4.必须使用双引号括起来
5.Swift中的每一个字符代表了一个可扩展字母集

var s: Character = "美"
var quote1 = "\'" // 通过转义字符创建的字符是单引号
var quote2 = "\u{22}" // 通过Unicode创建的是双引号
//print(s)
//print("quote1的值为:\(quote1), quote2的值为:\(quote2)")

// 使用Unicode形式定义4个字符
var diamond: Character = "\u{2666}"
var heart: Character = "\u{2663}"
var club: Character = "\u{2665}"
var spade: Character = "\u{2660}"
//print("\(diamond), \(heart), \(club), \(spade)")

字符串(重点)

1.字符串的创建
2.字符串基本操作

// 1.创建
var str1 = "苹果"
// 使用构造器来
var str2 = String() // 初始化字符串实例
// 创建多个重复字符的字符串,需要指明字符的类型
var str3 = String(count: 4, repeatedValue: Character("a"))
var strRep = String(count: 5, repeatedValue: UnicodeScalar("��")) // ��表情为Unicode编码1F436
//print(strRep)
//print(str3)
//print(str3.isEmpty) // 判断字符串是否为空

// 2.字符串基本操作
var str4 = str1 + "公司" // 用 + 进行拼接,比OC方便多了
str1 += "你好" // 用 += 将字符串拼接到自身
//print(str1)
let char: Character = "!"
str1.append(char)
//print(str1)

// 在swift2.0中,countElements方法被移除,可以直接按照下面方法点出字符串的长度
var length = str3.characters.count
//print("str3 has \(length) characters")

// Swift中的字符串是否可以修改仅通过定义的是变量还是常量来决定
// 字符串比较
let quotation = "我们是一样一样滴"
let sameQuotation = "我们是一样一样滴"
if quotation == sameQuotation {

//    print("这两个字符串被认为是相同的")
}

// 检查字符串是否拥有特定前缀/后缀,两个方法均需要以字符串作为参数传入并传出Boolean值
var food = ["Fruits: apple",
    "Fruits: orange",
    "Fruits: banana",
    "Vegetables: tomato",
    "Vegetables: potato"
]
for fru in food {
    if fru.hasPrefix("Fruits"){
//        print(fru)
    }
    if fru.hasSuffix("o"){
//        print(fru)
    }
}

数组(重点)

1.数组创建
2.访问和修改数组

/*声明数组写法:
    第一种:Array<someType>, 如Array<Int>
    第二种:[SomeType], 如[String]
*/
// 第一种
var myArr = Array<String>() // 创建空数组,并赋值给myArr变量
var num = Array<Int>(count: 3, repeatedValue: 1)
//print(num)

// 第二种
var arr: [Int] = [1, 2, 3]

// 使用构造语法来创建一个由特定数据类型构成的空数组
var sonmeInts = [Int]()

var threeDoubles = [Double](count: 3, repeatedValue: 0.0)
//print(threeDoubles)

var food1 = ["apple", "orange", "banana", "tomato", "potato"] // 用的最多
//print(food1[3]) // 取数组下标
//print(food1.count) // 取数量

var shoppingList = ["Eggs", 123, true]
for item in shoppingList{
//    print(item)
}

for fruit in food1{
//    print(fruit)
}

// 数组可变性
// 1.append() 方法在数组尾部添加新元素
food1.append("Vegetables: mushroom")
//print(food1)
// 2.通过加法添加新元素
food1 += ["pineapple", "pitaya"]
//print(food1)

food1[0...2] = ["a", "b"] // 替换元素
//print(food1)

// 3.不能使用下标语法在数组尾部添加新项,调用insert(atIndex:)方法来在某个具体索引值前添加数据项
food1.insert("Meat", atIndex: 0)
//print(food1)

// 使用removeAtIndex方法来移除数组中的某一项
food1.removeAtIndex(0)
//print(food1)
// 把数组中的最后一项移除,可以使用removeLast方法
food1.removeLast()
//print(food1)
// 删除所有元素,参数是否保留数据缓冲,默认是false
food1.removeAll(keepCapacity: false)
//print(food1)

字典(重点)

1.字典的声明和创建
2.字典的使用

/*
    Dictionary<keyType, valueType>
    [keyType: valueType]
*/

// 声明字典
var dic1: Dictionary<String, String>

var scores: [String: Int]

// 创建字典
dic1 = Dictionary<String, String>()

scores = Dictionary<String, Int>(minimumCapacity: 5) // 最小容量为5

var emptyDic: [String: Double] = [:] // 空字典,冒号不可少
//print(emptyDic.isEmpty)

// 通过常量或者变量决定字典是否可变
var person = ["age": "18",
              "name": "Tom",
              "身高": "178"]
//print(person["age"])
//print(person["weight"]) // 不存在key,返回nil
person["name"] = "jack" // 可以直接对key改值
person["weight"] = "90" // 对不存在的key设置value,字典将会添加key-value对
//print(person)
var height: String? = person["身高"] // 如果类型不匹配就会报错
if height != nil{
//    print(height!) // 这里带!是强制解析
}

// updateValue(forkey:)方法在这个键不存在对应值的时候,设置值或者在存在时更新已存在的值,这个方法返回更新值之前的原值
if let oldName = person.updateValue("Lucy", forKey: "name"){
//    print("原来的值是:\(oldName)")
}
//print(person)

for (key, value) in person{
//    print("\(key): \(value)")
}

// removeValueForKey方法也可以用来在字典中移除键值对
//person.removeValueForKey("name")
//print(person)

//person.removeAll(keepCapacity: false) // 移除所有
//print(person)

let keysArr = [String](person.keys) // 取出所有key
let valuesArr = [String](person.values) // 取出所有value
//print(keysArr)
//print(valuesArr)

下一节:Swift中的函数和闭包

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Swift学习笔记系列——(2)字符串和字符

Tags: Swift 学习笔记发布时间:2015-06-25 修改时间:2015-06-25 作者:Erwin 博客地址:技术杂货铺 欢迎转载,转载请注明出处。Swift学习笔记系列——(2...

Strings 在 Swift 2中字符串设计的背后思想

原文链接:Strings in Swift 2 原文作者: Apple 译文出自:开发者前线 www.devtf.cn 译者:MrLoong 校对者:MrLoong 状态:完成 Strings 在 ...

Swift 3.0 学习笔记-2-字符串和Unicode

Swift 3.0 学习笔记-2-字符串和Unicode标签(空格分隔): iOS Swift声明 Swift 3.0 学习笔记主要参考苹果开发者官网[The Swift Programming L...

Swift2-0基础_String(字符串)

// 字符串 字符串是值类型,常量变量赋值,在函数中传递会进行值拷贝 let name = "Kermit" let word = "\"I am a boy\" __kermit" print(wo...

Swift 字符串+集合(三)

Strings and Characters 字符串和字符 String Literals 字符串字面量 用于为常量或变量提供初始值,可包含以下特殊字符 转义字符\0(空)、\\(反斜线...

Swift的基础,操作符,字符串和集合类型

这篇文章主要讲解苹果Swift官方指南的第二章前四节的要点内容,如果想看完整的英文文档可以去苹果开发者页面下载。 Basic 声明常量let 声明变量var 注释依旧使用"//" "/**/"...
  • ran0809
  • ran0809
  • 2014年06月05日 10:49
  • 2016

初学SWift_集合 字符串

import UIKit var str = "Hello, playground" //var a = 1 //a += 2 //a /**  *  三目运算符  */ let ha...

Swift 算法实战之路:数组,字符串,集合,与字典

数组 数组是最基本的数据结构。Swift中改变了以前Objective-C时代NSMutableArray和NSArray分开的做法,统一到了Array唯一的数据结构。下面是最基本的一些实现。 ...

Swift2-0基础_CollectionType(集合)

import Foundationprint("Hello, World!")// Swift 语言提供 Arrays 、 Sets 和 Dictionaries 三种基本的集合类型用来存储集合数据。...

swift2.2字符串&amp;数组&amp;集合

  • 2016年02月16日 09:54
  • 9KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift -2 字符串与集合
举报原因:
原因补充:

(最多只允许输入30个字)