Swift学习记录(三)
来源:互联网 发布:阿里云服务器怎么换ip 编辑:程序博客网 时间:2024/06/05 19:22
该记录采用的是Swift 3.0版本,Xcode8.2.1,配合某机构教学视频。
七、字符串
- 字符串在任何的开发中使用都是非常频繁的
OC
和Swift
中字符串的区别- 在
OC
中字符串类型时NSString
,在Swift中
字符串类型是String
OC
中字符串@""
,Swift
中字符串""
- 在
- 使用
String
的原因NSString
是一个OC
对象,性能略差String
支持直接遍历Swift
提供了String
和NSString
之间的无缝转换
使用for in遍历字符串
let string = "I am you"for character in string.characters { print(character)}
字符串之间拼接,直接使用+加号
let string1 = "city "let string2 = "of "let string3 = "stars"let song = string1 + string2 + string3print("\(song) by Ryan Gosling")
字符串和其他标识符之间的拼接
let age = 48let name = "Matthew"let height = 1.85let info = "my name is \(name), age is \(age), height is \(height)"print(info)
字符串的格式化: 时间
let minute = 13let second = 04let hour = 11let timeString = String(format: "%02d:%02d:%02d", arguments: [hour,minute, second])print(timeString)
字符串的截取
Swift
中提供了特殊的截取方式- 该方式非常麻烦
Index
创建较为麻烦
- 简单的方式是将
String
转成NSString
来使用- 在标识符后加
:as NSString
即可
- 在标识符后加
1.根据下标截取字符串
let songString = "closer to me"// 将String类型转成NSString类型 string as NSStringlet header = (songString as NSString).substring(to: 6)let middle = (songString as NSString).substring(with: NSRange(location: 7, length: 2))let footer = (songString as NSString).substring(from:10)print("header:\(header) middle:\(middle) footer:\(footer)")
2.根据字符截取字符串
- 截取到首个符合的字符(只能是字符串元素,即字符)
let song = "Traveling Light"let firstCharacter = song.characters.index(of: "i")!let string = String(song.characters.prefix(upTo: firstCharacter))print(string)
八、数组
1.数组的初始化
- 数组分成:可变数组和不可变数组
- 使用let修饰的数组是不可变数组
- 使用var修饰的数组是可变数组
// 定义一个可变数组,必须初始化才能使用var array : [String] = [String]()// 定义一个不可变数组let names : [String] = ["Jennifer", "David"]
- 在声明一个Array类型的时候可以使用下列的语句之一
var arrayM1 = Array<String>()var arrayM2 = [String]()
- 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
// 定义时直接初始化var arrayM = ["Jennifer", "Courteney", "David"]// 先定义,后初始化var arrayM : Array<String>array = ["Jennifer", "Courteney", "David"]
- 特殊语法
// 给数组创建10个相同的元素var digitCounts = Array(repeating: 0, count: 10)
2.对可变数组的操作(增删改)
2.1.添加元素
arrayM.append("Matt")
2.2.删除元素
arrayM.remove(at:0)
2.3.修改元素
arrayM[1] = "Ben"
2.4.获取某一个下标值的元素
// 可变和不可变数组通用array[0]arrayM[0]
3.遍历数组
// 遍历数组for i in 0..<arrayM.count { print(arrayM[i])}// for in方式for name in arrayM { print(name)}// 设置遍历的区间for name in array[0..<2] { print(name)}for i in 0..<2 { print(arrayM[i])}// 反序遍历 for name in array.reversed() { print(name) }
4.数组的合并
// 数组合并var array = ["Jennifer", "Courteney","Matt"]var array1 = ["David", "Matthew"]var array2 = array + array1;
九、字典
Swift 的Dictionary类型被桥接到Foundation的NSDictionary类。
1.字典类型简化语法
Swift
的字典使用Dictionary<Key, Value>
定义,其中Key是字典中键的数据类型,Value是字典中对应于这些键所存储值的数据类型。
注意:字典的Key类型必须遵循Hashable协议
我们也可以用[Key: Value]
这样简化的形式去创建一个字典类型。虽然这两种形式功能上相同,但是后者是首选。
// namesOfIntegers 是一个空的 [Int: String] 可变字典var namesOfIntegers = [Int: String]()// 定义一个不可变字典let dict = ["name" : "Chandler"]
- Swift中的可变和不可变字典
- 使用let修饰的数组是不可变字典
- 使用var修饰的数组是可变字典
2.字典的基本操作
// 添加数据dict["phoneNumber"] = "+86 110"dict["girlFriend"] = "Monika"// 删除字段dict.removeValue(forKey: "phoneNumber")// 修改字典dict["name"] = "Joey"// 查询字典dict["name"]
十、元组
// 元组的基本写法let userInfo = ("Matthew", 48, 1.85)userInfo.0userInfo.1userInfo.2// 给每一个元素起别名let userInfo1 = (name : "Matthew", age : 48, height : 1.85)userInfo1.nameuserInfo1.ageuserInfo1.height// 别名就是变量的名称let (name, age, height) = ("Matthew", 48, 1.85)nameageheight
0 0
- swift 学习记录(三)
- Swift学习记录(三)
- swift学习记录(开端)
- swift学习记录(Optional)
- swift学习记录(switch)
- swift学习记录(for)
- swift学习记录(func)
- 操作 swift学习记录(-)
- swift学习记录(selector)
- swift学习记录(in)
- swift 学习记录(一)
- swift 学习记录(二)
- swift 学习记录(四)
- swift学习记录(String)
- swift学习记录(函数)
- swift学习记录(枚举)
- swift 学习记录(继承)
- swift学习记录(析构器)
- Android中的Conflict with dependency 'com.google.code.findbugs:jsr305'
- ubuntu下搭建apache+gerrit+h2+git环境
- hive和hbase有什么关系和区别?
- 给元素添加节点
- "-disable-load-framework" 配置
- Swift学习记录(三)
- 2015年33期Java/Spring/Struts2/web/基础/就业班视频
- MongoDB常见问题及解决方案
- iOS开发 支付宝支付 包看包会
- onfocus 获得焦点方法只获取一次input的值
- “Microsoft.SharePoint”中不存在类型或命名空间名称“Linq”
- iOS静态库简介
- 有关clone方法的使用注意
- springSecurity注解