1) 运算符
Int.max找出Int类型的最大值,Int.min找出Int类型的最小值,swift是安全数据,(Int.max + 1)溢出会报错的。
2)nil聚合运算符
a ?? b 表示的是 a != nil ? a! : nil , a不是nil时解包a,若是nil时取b,要求a是可选性类型,b与a的解包类型一致;
3) for-in循环
for index in 1..<10 {......},index默认是let值,不需要声明类型,不可以在for语句块内给index赋值;
4)字符串
str.append(newChar),末尾加字符newChar,不是在末尾加字符串
count(str),字符数量,一个字母,一个数字,一个符号,一个空格,还有一个汉字都是算一个字符
str.hasPrefix(strPrefix), str.hasSuffix(strSuffix)判断是否有前缀/后缀;
import Foundation后,可以调用
str.capitalizedString,每个英文单词首字母大写
str.uppercaseString,每个英文字母都大写
str.lowercaseString,每个英文字母都小写
str.rangeOfString("ABC"),找出“ABC”在str中的位置index(字符索引)的范围类型是String.Index,注意不是Int类型,若是没有找到返回nil;
str = "Hello, moto!"
let startIndex:String.Index = str.startIndex//字符索引起点为0
let endIndex:String.Index = <span style="color:#ff0000;">advance</span>(str.startIndex, 10)//字符索引终点为10
let searchIndex = Range<String.Index>(start:startIndex,end:endIndex)//建立一个字符索引范围0..<10
//从后往前查找Hello,查找范围是0..<10,结果是0..<5,表明“Hello”在字符串的0~5的位置。
str.rangeOfString("Hello", options: NSStringCompareOptions.BackwardsSearch, range: searchIndex)
str.substringToIndex(toIndex),返回的是从0开始到toIndex的子字符串;
str.substringFromIndex(fromIndex),返回的是从fromIndex到结尾的子字符串;
str.substringWithRange(searchIndex),返回的是searchIndex字符索引范围(注意范围是左闭右开的)的子字符串;
str.insert("!",atIndex: insertIndex),在str的字符索引insertIndex处插入“!”;
str.removeAtIndex(insertIndex), 删除字符索引insertIndex处的字符;
str.removeRange(searchIndex),删除范围内的字符;
str.stringByReplacingCharactersInRange(searchIndex, withString: "step-by-step"), 把索引范围内的替换为“step-by-step”