IOS-笔记3(Optional,Array,Dictionary,Range等)

来源:互联网 发布:java web get post 编辑:程序博客网 时间:2024/06/05 08:52

Optional的本质就是一个枚举:

enum Optional<T> {        case None        case Some(T)}

如果你想循环一个字典,使用一个简单的tuple结构来接:

for (key,value) in Dictionary{     println("\(key)=\(value)")}

在用循环处理集合类型时要注意,在循环中修改正在被循环的集合是非常危险的

func removeOnce(itemToMove:Int, fromArray:[Int]) -> [Int] {    var value = fromArray    var isDeleted = false    //你试图在对数组的for循环中更改本数组,会出现不可预料的后果,永远不要这么做。    //这里没有出问题的原因是你只修改了一次,在修改之前当然还是原数组,如果修改多次,尤其是涉及到下标则要非常小心    for (index,num) in value.enumerate() {        if num == itemToMove && !isDeleted{            value.removeAtIndex(index)            isDeleted = true        }    }    return value}



Range 两种闭区间(...)和不包含最后一个值的前闭后开区间(..)    (这里的语法不同版本swift貌似有区别)

let array = ["a","s","d","f"]let a1=array[2...3]//d,flet a2= array[2..<3]d
同样可以使用range来循环for in
NSObject是Objective-c中所有类的基类,在swift中并不存在这样一个基类。在ios中要实现一些高级特性会要求你的swift类继承NSObject或他的子类

NSNumber里面有很多有用的方法:.intValue、.doubleValue等等

NSDate日期相关

NSData里面存着无类型的数据,在IOS SDK中用来储存和传送未加工的数据

0 0