在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Swift语言提供数组和字典的集合类型
Swift 语言里的数组和字典中存储的数据值类型必须明确 ,即数组中只能存放同类型的数据。 1: 数组 数组的创建 var shoppingList: String[] = ["tset", "hell", “hell”] var arrayInt:Int[] = [1, 3] println("\(someInts.isEmpty)") 数组的访问用下标访问。下标从0开始,注意不要越界了。 var arrayIntEx = [1, 3] arrayIntEx[1] = 99 println("\(arrayIntEx[1])") 数组的可修改性是依赖var或者let控制的 数组元素个数使用 count ,isEmpty检测是否位空数组 var arrayIntEx = [1, 3] let count = arrayIntEx.count let bFlag = shoppingList.isEmpty println("\(count)\n\(bFlag)") 数组元素追加 append 。必须是var类型数组,而且追加的元素类型要和数组类型一致。同时也可以用 += 操作 var arrayIntEx = [1, 3] arrayIntEx.append(8) arrayIntEx += 9 arrayIntEx += [55, 66] println("\(arrayIntEx[2])\n\(arrayIntEx[3])\n\(arrayIntEx[4])\n\(arrayIntEx[5])\n") 数组元素指定索引号插入 insert().insert在指定索引号的时候,最大为原有元素个数+现插入的元素个数-1,这样类似于在末尾添加。insert插入后,原有的元素后移动。 var arrayIntEx = [1, 3] arrayIntEx.insert(5, atIndex:2) println("\(arrayIntEx)") 数组指定索引号删除 removeAtIndex var arrayIntEx = [1, 3, 9] arrayIntEx.removeAtIndex(1) println("\(arrayIntEx)")
数组遍历用 for in var arrayIntEx = [1, 3, 9] for item in arrayIntEx { println("\(item)") } 如果要使用索引号和值,那用enumerate var arrayTest = ["ax", "bx", "sx", "sxx"] for (index, value) in enumerate(arrayTest) { println("Item: \(index + 1): \(value)") } 数组拼接 如果两个数组类型一样,可以用+做拼接。当然结果的顺序和你拼接的时候的顺序时一致的 var arrayIntFirst = [2, 5] var arrayIntSecond = [6, 77] var arrayRes = arrayIntSecond + arrayIntFirst println("\(arrayRes)")
2:字典 Swift 的字典使用时需要具体规定可以存储键和值类型 ,字典存储时没有顺序的,它依赖于一个可以哈希的keyValue值来查找。估计它是把keyValue哈希后作为key建立的红黑二茬树来查找的。 字典使用 Dictionary<KeyType, ValueType>定义 .KeyType要求可以哈希的,ValueType在一个字典里类型必须一致 字典创建 var airports: Dictionary<Int, String> = [1: "yamide",2: "soga"]//显示类型说明 var dicDefault = [2:"xx", 33:"oo"]//使用了类型推理,这里比较特殊的是 2和3 不能用 2.0 和 3 ,它不支持类型的转换推理的 字典的可否修改时依靠var和let控制的 字典元素个数使用count 属性可以得到 var dicDefault = [2:"xx", 33:"oo"] println("\(dicDefault.count)") 字典元素的更新。可以用下标关键字添加 var dicDefault = [2:"xx", 33:"oo"] dicDefault[22] = "tt" println("\(dicDefault)") 如果下标添加的key是字典里已经有的,那么它会update数据. updateValue(forKey:)方法可以设置或者更新特定键对应的值 .如果keyValue没有就添加,字典中已经有则更新
var dicDefault = [1:"xx", 2:"oo"] dicDefault[3] = "tt" dicDefault.updateValue("sx", forKey:4)//add dicDefault.updateValue("sbcd", forKey:2)//update 删除 removeValueForKey var dicDefault = [1:"xx", 2:"oo"] dicDefault[3] = "tt" dicDefault.updateValue("sx", forKey:4) dicDefault.removeValueForKey(2) println("\(dicDefault)") 字典遍历 可以使用for in 遍历字典键值对。以元组形式返回 var dicDefault = [1:"xx", 2:"oo"] for(key, value)in dicDefault { println("key:\(key) value:\(value)\n") } 字典可以用 values 返回所有值 keys返回所有关键字 var dicDefault = [1:"xx", 2:"oo"] var keys = dicDefault.keys var values = dicDefault.values for key in keys { println("key:\(key)\n") } for value in values { println("value:\(value)\n") }
|
请发表评论