swift学习之元组
元组在oc中是没有的。在swift中是新加的,学oc数组概念时还在想既然能够存储同样类型的元素,那不同类型的元素有没有东西存储呢,答案非常悲伤,oc没有元组这个概念。只是swift中加入了这个东西,也挺有意思的,以下就我个人说一下对元组的理解,假设有不正确的,请指出,共同进步,谢谢
元组(touples)就是能够存储不同数据类型的一个集合,用()表示,举个栗子
let touples = ("xiaoyu",16,"math",98.5)
println(touples)
看到提示就应该知道我们能够通过touples.0或者.1或者.2或者.3来訪问元组的元素,由swift的类型判断就知道相应的数据类型
我们也能够用另外一种方法创建元组
let (name,_,_,score) = touples
上面的_在swift中是通配符。记做忽略的意思,就是你不须要相应的值,用不着
println(name)
println(score)
事实上我个人更喜欢第三种方式,清晰明了,代码更易读
let touple = (name:"xiaoyu",age:16,souce:"math",scores:98.5)
println(touple.name)
说了上面一大推,我还是不知道元组能够干嘛,巴拉巴拉。仅仅知道怎么创建,读取等等。那么我们这个元组小伙伴能够做些啥事啊,以下举个小栗子
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 = aa = bb = 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 = 42println(num)println(num.0.0.0.0)
元组还有一个实用的地方就是错误处理了,能够把错误直接放在元组里面返回
參考:喵神的书
swift学习之元组相关推荐
- swift 学习(一)
swift学习 一.基础部分 1. 常量(let) 变量(var) swift能够自己推断变量的类型,可以不用写变量的类型 let test = "你好,世界!!" let tes ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- python元组的定义方式_学习Python元组,有哪些必须要掌握的内容
展开全部 学习Python元组2113,有哪些必须要掌握的5261内容? 1.Python元组4102 定义 元组是Python的一种内建数据结构.1653关于元组: 1.元组属于序列,可以存放任意元 ...
- swift学习笔记《5》- 实用
title: swift学习笔记<5>- 实用 date: 2016-09-21 21:39:00 categories: 学习笔记 Swift学习 tags: Swift 1.setVa ...
- Apple Swift学习资料汇总
[更新]Apple Swift学习资料汇总 1月16日厦门 OSC 源创会火热报名中,奖品多多哦 » 今年的苹果开发者大会(WWDC)上,公布了ios8的几个新特性,其中包括引入了群聊功能,支持第 ...
- 汇集了很多swift 学习指南
https://github.com/ipader/SwiftGuide 1,059 Unstar 7,294 Fork1,966 ipader/SwiftGuide Code Issues 0 ...
- Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片
Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片 设备图片库和照相机是图像的两个重要来源,使用UIKit中提供的图像选择器UIImagePic ...
- Python 学习笔记 元组 xxxxxxx XXXXXXXXXX
Python 学习笔记 元组 xxxxxxx XXXXXXXXXX print("=" * 20) dimensions = (200, 50) print(dimensions[ ...
- swift 学习资料大全
版本:Swift github排名 https://github.com/trending,github搜索:https://github.com/search 主要工作说明: 1. 将Swift从 ...
最新文章
- 非极大值抑制_非极大值抑制(Non-Maximum Suppression)
- hadoop基本命令
- SQL Server中的Merge关键字
- php语言smtp类,php mailer类调用远程SMTP服务器发送邮件实现方法
- mfc 弹框只出现一次_只出现一次的数字
- Android拖拽详解
- 日志和告警数据挖掘经验谈
- linux创建crontab定时任务
- 移植2.6.38内核到s3c6410问题
- Mysql---之Mysqladmin修改账号密码方式
- php发布post到wordpress,PHP-如何将数据发布到wordpress插件?
- Unity播放序列帧,功能丰富
- ubuntu server 开机自动运行程序
- Android调用getSimSerialNumber获取iccid不完整(RK3288 7.1.2)
- 重塑汽车产业价值链,ChinaJoy诚邀造车新势力加盟
- AutoFill 自动填充生长动画插件
- kline 专业金融K线绘制库
- jQuery源码分析之$.grep()函数四问
- 二手房屋信息发布交易小程序开发制作功能
- [零基础易语言教程]1-1 什么是易语言