您的位置:首页 > 移动开发 > Swift

Swift2.0笔记1

2016-01-26 12:58 344 查看
Swift基本语法

元组:

把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。

可选类型:

(optionals)来处理值可能缺失的情况。可选类型表示:

1)有值,等于x

2)没有值(nil)

var userDefinedColorName: String?    //可选类型


隐式解析可选类型

当可选类型被第一次赋值之后就可以确定之后一直有值的时候;

var myButton: UIButton!


错误处理

加关键字throws

do {
//代码块
} 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必须大于等于a

2)半开区间运算符:(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)

控制语句

while

while 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
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift swift2-0 笔记