在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
元组在oc中是没有的。在swift中是新加的,学oc数组概念时还在想既然能够存储同样类型的元素,那不同类型的元素有没有东西存储呢,答案非常悲伤,oc没有元组这个概念。只是swift中加入了这个东西,也挺有意思的,以下就我个人说一下对元组的理解,假设有不正确的,请指出,共同进步,谢谢 元组(touples)就是能够存储不同数据类型的一个集合,用()表示,举个栗子 let touples = ("xiaoyu",16,"math",98.5) 看到提示就应该知道我们能够通过touples.0或者.1或者.2或者.3来訪问元组的元素,由swift的类型判断就知道相应的数据类型 我们也能够用另外一种方法创建元组 let (name,_,_,score) = touples 上面的_在swift中是通配符。记做忽略的意思,就是你不须要相应的值,用不着 println(name) 事实上我个人更喜欢第三种方式,清晰明了,代码更易读 let touple = (name:"xiaoyu",age:16,souce:"math",scores:98.5)
override func viewDidLoad() { var touple = (name:"xiaoyu",age:16,souce:"math",scores:98.5) println(touple.name) swapMe(&touple.name, b: &touple.souce) println(touple) } func swapMe<T>(inout a:T,inout b:T){ let temp = a a = b b = temp }通过上面的代码我们就偷偷把math和name交换了,(注意,这里仅仅能交换形同的类型,T是一种泛型表达),可是我们学了元组就能够这样写了 func swapMe<T>(inout a:T,inout b:T){ (a,b) = (b,a) } 恩。能够达到同样的效果,不信,再来一个数组做实验 var tempArr = [5,7] swapMe(&tempArr[0], b: &tempArr[1]) println(tempArr) 恩,这回真心能够了 还有就是元组真心放什么都能够啊。不信能够试试以下的操作 var num = 42 println(num) println(num.0.0.0.0)元组还有一个实用的地方就是错误处理了,能够把错误直接放在元组里面返回 參考:喵神的书 |
请发表评论