Swift2.0笔记1
2016-01-26 12:58
344 查看
Swift基本语法
1)有值,等于x
2)没有值(nil)
条件:
1)表达式a必须是Optional类型
2)默认值b的类型,必须要和a存储值得类型保持一致
2)半开区间运算符:(a..< b)定义一个从a到b(不包含b)的区间,该区间包含第一个值,不包含最后一个值
String.startIndex:获取String第一个字符索引
String.endIndex:获取String最后一个字符的后一个索引
predecessor():获取前面一个索引
successor()获取后面一个索引
如果String是空串,startIndex和endIndex是相等的
let greeting = “Guten Tag!”
greeting[greeting.startIndex] //G
greeting[greeting.sartIndex.successor()] //u
greeting[greeting.endIndex.preDecessor()] //!
indices:会创建一个包含全部索引的范围(Range),用来在一个字符串中访问单个字符
2)字符串插入和删除
append():将一个字符添加到一个字符串的尾部
insert(_:atIndex:):可以在一个字符串的制定索引插入一个字符
var welcome = “hello”
welcome.insert(“!”,atIndex: welcome.endIndex) //”hello!”
insertContentsOf(_:at:)可以在一个字符串的制定所以插入一个字符串
welcome.insertContentsOf(” there”.characters,at: welcome.endIndex.predecessor()) //”hello there!”
removeAtIndex(_:):在指定索引删除一个字符
removeRange(_:):在指定索引删除一个子字符串
2)集合(Sets)
3)字典(Dictionaries)
Repeat-while
switch
带标签的语句
产生一个带标签的语句是通过在该语句的关键字的同一行前面放置一个标签,并且该标签后面还需带有一 个冒号;
guard
执行取决于一个表达式的布尔值,可以使用guard语句来要求条件必须为真时,以执行guard语句后的代码,如果条件不为真则执行else分句中的代码
元组:
把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。可选类型:
(optionals)来处理值可能缺失的情况。可选类型表示:1)有值,等于x
2)没有值(nil)
var userDefinedColorName: String? //可选类型
隐式解析可选类型
当可选类型被第一次赋值之后就可以确定之后一直有值的时候;var myButton: UIButton!
错误处理
加关键字throwsdo { //代码块 } catch Error.OutOfCleanDishes{ //错误处理代码块 }
空合运算符
(a ?? b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b条件:
1)表达式a必须是Optional类型
2)默认值b的类型,必须要和a存储值得类型保持一致
简短表达:
a != nil ? a! : b
例: let defaultColorName = "red" var userDefinedColorName: String? //默认值为nil var colorNameToUser = userDefinedColorName ?? defaultColorName
区间运算符:
1)闭区间运算符:(a…b)一个包含从a到b(包括a和b)的所有值得区间,b必须大于等于a2)半开区间运算符:(a..< b)定义一个从a到b(不包含b)的区间,该区间包含第一个值,不包含最后一个值
for index in 1...5{ // 包含1和5 print("\(index)*5 = \(index*5)") }
使用场景:半开区间使用在一个从0开始的列表或者数组 let names = ["Anna","Alex","Brian","Jack"] let count = names.count for i in 0..<count{ print("第\(i+1)个人叫\(names[i])") }
字符串
1)字符串索引String.startIndex:获取String第一个字符索引
String.endIndex:获取String最后一个字符的后一个索引
predecessor():获取前面一个索引
successor()获取后面一个索引
如果String是空串,startIndex和endIndex是相等的
let greeting = “Guten Tag!”
greeting[greeting.startIndex] //G
greeting[greeting.sartIndex.successor()] //u
greeting[greeting.endIndex.preDecessor()] //!
indices:会创建一个包含全部索引的范围(Range),用来在一个字符串中访问单个字符
for index in greeting.characters.indices{ print("\(greeting[index])",terminator:"") }
2)字符串插入和删除
append():将一个字符添加到一个字符串的尾部
insert(_:atIndex:):可以在一个字符串的制定索引插入一个字符
var welcome = “hello”
welcome.insert(“!”,atIndex: welcome.endIndex) //”hello!”
insertContentsOf(_:at:)可以在一个字符串的制定所以插入一个字符串
welcome.insertContentsOf(” there”.characters,at: welcome.endIndex.predecessor()) //”hello there!”
removeAtIndex(_:):在指定索引删除一个字符
removeRange(_:):在指定索引删除一个子字符串
集合类型
1)数组(Arrays)2)集合(Sets)
3)字典(Dictionaries)
控制语句
whilewhile condition{ statements }
Repeat-while
repeat { statements } while condition
switch
switch condition{ case value1: staements case value2,value3: statements default: otherwise }
switch condition{ case value1: staements fallthrough //关键字fallthrough,c语言的贯穿特性(Java语言的switch特性) case value2,value3: statements default: otherwise }
带标签的语句
产生一个带标签的语句是通过在该语句的关键字的同一行前面放置一个标签,并且该标签后面还需带有一 个冒号;
label name: while condition{ statements }
guard
执行取决于一个表达式的布尔值,可以使用guard语句来要求条件必须为真时,以执行guard语句后的代码,如果条件不为真则执行else分句中的代码
func greet (person: [String: String]){ guard let name = person["name"] else{ return } }
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- AS3自写类整理笔记 ClassLoader类第1/2页
- AS3自写类整理笔记 Dot类第1/2页
- DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .
- perl脚本学习指南--读书笔记
- 《C++ primer plus》读书笔记(三)
- 《C++ primer plus》读书笔记(二)
- jquery 笔记 事件
- VPS 配置优化笔记
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- Ajax学习笔记整理
- 一千行的MySQL学习笔记汇总
- 两千行代码的PHP学习笔记汇总
- 用来记笔记的软件 EverNote 2.2.1.386提供下载
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例