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 ...
随机推荐
- centos 7 安装golang1.12.5
本文主要介绍服务器端环境配置,开发环境是window的话可以参考 https://www.cnblogs.com/nickchou/p/10765743.html 方式一.用yum安装 1.用yum指 ...
- Java反射获取类对象的三种方式
package demo01; /* * 获取一个类的class文件对象的三种方式 * 1.对象获取 * 2.类名获取 * 3.Class类的静态方法获取 */ public class Reflec ...
- 爬虫学习笔记(二)http请求详解
上篇博客里面写了,爬虫就是发http请求(浏览器里面打开发送的都是http请求),然后获取到response,咱们再从response里面找到想要的数据,存储到本地. 咱们本章就来说一下什么是http ...
- [BZOJ3212][POJ3468]A Simple Problem with Integers
题目大意: 维护一个长度为$n(n\leq100000)$的数列,支持区间加.区间求和两种操作,操作共$m(m\leq100000)$次. 思路: Splay区间操作. #include<cst ...
- Java使用HttpURLConnection调用WebService(原始方法)
说明:使用Java原生的HttpURLConnection调用WebService可以免去引入SOA的框架,比如一些CXF框架等.可以使代码足够精简,比如对于一些只调用一两个接口的,这种方式是最适合的 ...
- Android Retrofit RxJava实现缓存
RxJava如何与Retrofit结合参考:http://blog.csdn.net/jdsjlzx/article/details/52015347 缓存配置 app网络数据的离线缓存实现有很多种办 ...
- dede实战系统:更换成kindEditor编辑器
最近由于项目需要,在搞dedeCMS,发现dede自带的ckEditor在word粘贴这方面做得不是很好,从word上面直接ctrl+V的内容跟wrod上面的表现样式相差很大,客户很不爽(因为是编辑的 ...
- linux 学习解决归档管理器打开rar和zip中文文件名乱码问题
在ubunut下打开windows下压缩的rar文件和zip压缩文件出现中文文件名乱码的问题真的很头疼.文件名乱码其实也没有什么关系是不?至少重命名再改回来或者是使用英文命名都可以克服.不巧的是,如此 ...
- python __new__和__init__的区别
http://www.cnblogs.com/tuzkee/p/3540293.html 继承自object的新式类才有__new__ __new__至少要有一个参数cls,代表要实例化的类,此参数在 ...
- ylb:SQL 索引(Index)
ylbtech-SQL Server: SQL Server-SQL 索引(Index) SQL 索引(Index). ylb:索引(Index) 返回顶部 --=================== ...