swift基础教程笔记
http://www.imooc.com/learn/127
《玩儿转swift》 慕课网教程笔记,自己根据2.1的语法做了更新。
I.
1.通过playground来学习、熟悉swift语言的特性。
2.元组 声明时可以每一个元素有名字,之后可以用.访问
var t=(x:,y:,z:"hi") // var t : (Int,Int,String)
var (a,_,_)=t // _ 匿名
print(t.) // or t.x
3.可选类型
用法: .toInt 返回可以是nil
强制类型转换不能为可选型。
可选型的解包: 把可选型转化为肯定型,加!号即可。
if let x=name {}也可用来解包
II.
1. Int.min
2.a===b or a!==b 类型比较
3.Nil Coalescing Operator a ?? b 注意空格
4.范围运算符 a...b a..<b
5.for循环内部,index是常量
III.
1.String返回长度: .characters.count 好复杂。
2.插值"\()"
3. .hasPrefix .hasSuffix
.capitalizedString
.uppercaseString .lowercaseString
4.trim
5.split .componentsSeparatedByString
6.join .join
7.Range & String.Index
.rangeOfString 可选类型 som 23..<25
.startIndex .endIndex
mainLoop: for t in m{
for o in t{
if o=={
break mainLoop;
}
}
}
VI.func
1.func sayHi ( name:String?) -> String{}
(1)返回为空,可不写返回,也可写返回 Void 或 ( )
(2)返回多个返回值,可返回一个元组
(3)传入、返回可以是可选型 (灵活应用 ?、!、??、nil)
{ (parameters) -> returnType in
statements
}
2.简化
(1)类型推断
{a,b in return a>b}
(2)一句话可省略return
(3)省略参数名。 {$0> $1}
3.trailing closure
4.capture values
5.函数和闭包是引用类型。
func calcTotalmiles( todayMiles:Int )-> ()->Int {
var totalMiles =
return { totalMiles += todayMiles; return totalMiles;}
} var dailyTwoMiles = calcTotalmiles()
VIII.枚举
enum Plant{
case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}
1.已知类型,省略写法 .Earth
2.原始值
enum Planet: Int {
case Mercury = , Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}
Month(rawValue:12) 可选类型
swift基础教程笔记的更多相关文章
- jQuery官方基础教程笔记(转载)
本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计 ...
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
- php基础教程笔记
php的环境搭建很简单,从网上下载wamp service 2.5,官方网址http://www.wampserver.com/,有32位和64位的,必须下载跟系统一致的版本,不然会出现奇怪的错误,这 ...
- 阮一峰:jQuery官方基础教程笔记
jQuery是目前使用最广泛的javascript函数库. 据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. 对于网页开发者来 ...
- python基础教程笔记—画幅好画(详解)
今天写一下基础教程里面的第二个项目,主要使用python来做一个pdf的图,比较简单. 首先我们需要安装用到的模块pip install reportlab即可. 书上是用urlopen从往上下了一个 ...
- Cytoscape基础教程笔记
昨天开始学用Cytoscape,其tutorial分为两个部分,基础的和高级 的.基础教程又分成了四课:Getting Started.Filters & Editor.Fetching Ex ...
- iOS8使用Core Graphics实现渐变效果-Swift基础教程
Core Graphics是一个强大的底层API,在这篇教程中我们主要使用Core Graphics来实现渐变效果,为了简单起见,我们采用线性渐变.线性渐变是从起点到终点颜色进行顺序渐变.教程在iOS ...
- 在UITouch事件中画圆圈-iOS8 Swift基础教程
这篇教程主要内容展示如何利用Core Graphics Framework画圆圈,当用户点击屏幕时随机生成不同大小的圆,这篇教程在Xcode6和iOS8下编译通过. 打开Xcode,新建项目选择Sin ...
- Swift基础学习笔记 一
之前学习过一段时间swift,由于目前开发的项目还是用的OC,一段时间不看swift又基本忘干净了,好记性不如烂笔头,还是用博客记录一下自己学的东西吧. 基本数据类型: 1.常量(let)和变量(va ...
随机推荐
- Linux 环境下安装配置 TigerVNC Server 并启用当前会话远程服务(X0VNC)
曾经喜欢用 RealVNC Server 实现 Linux/Windows 的远程控制,因为 RealVNC 为收费商业软件,支持文件传输,性能优化方面也做得不错.但 RealVNC 从 5.0 版本 ...
- Jquery操作层级选择器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- java 仓库maven
工具: apache-maven-3.2.3.zip maven_data.zip 在java Window->Preferences->Maven中 Installations中添加ap ...
- pt-query-digest 实践(转)
mysql slowlog 使用与介绍 slow_query_log =1-----是否打开 slow_query_log_file = /data/mysql_data/node-1/mysql-s ...
- 8 Most Required Examples Reference For Oracle Forms
Check the following 8 Links for best Oracle Forms examples with source code (Fmb files), which will ...
- Drawable 添加过滤色,改变图片颜色
/** * 更改图片颜色 * @param drawable * @param color * @return */ public Drawable getDrawable(Drawable draw ...
- supervisor启动sqlmapapi失败 sqlmapapi: ERROR (file is not executable)
问题:在使用supervisor管理sqlmapapi的时候,启动的时候报错: sqlmapapi: ERROR (file is not executable) 解决办法:sudo supervis ...
- 从需求的角度去理解Linux系列:总线、设备和驱动
笔者成为博客专家后整理以前原创的嵌入式Linux系列博文,现推出以让更多的读者受益. <从需求的角度去理解linux系列:总线.设备和驱动>是一篇有关如何学习嵌入式Linux系统的方法论文 ...
- 【京东账户】——Mysql/PHP/Ajax爬坑之购物车删除选项
一.引言 做京东账户项目中的购物车模块,功能之三就是删除购物车中的选项.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.依据功能创建库.表.记录 创建库:jd 创建表:购物车表 jd ...
- 2017.2.12 开涛shiro教程-第八章-拦截器机制
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 1.拦截器介绍 下图是shiro拦截器的基础类图: 1.Namea ...