1.swift 能够省去;

2.println与print的差别就是一个能够换行一个不能够

3.swift省去了.h与.m 直接一个swift文件

4.元组能够返回多个值,元组(tuples)把多个值组合成一个复合值。

元组内的值能够使随意类型,并不要求是同样类型,你能够将一个元组的内容分解(decompose)成单独的常量和变量。然后你就能够正常使用它们了:

let
(statusCode, statusMessage) = http404Error
println("The status code is
\(statusCode)")

假设你仅仅须要一部分元组值,分解的时候能够把要忽略的部分用下划线(_)标记:
let (justTheStatusCode, _)
= http404Error
println("The status code is
\(justTheStatusCode)")
// 输出"The status code is 404"

此外,你还能够通过下标来訪问元组中的单个元素。下标从零開始:

println("The
status code is \(http404Error.0)")
// 输出"The status code is 404"
println("The status message
is \(http404Error.1)")
// 输出"The status message is
Not Found"

你能够在定义元组的时候给单个元素命名:
let http200Status = (statusCode:200,
description:"OK")

给元组中的元素命名后,你能够通过名字来获取这些元素的值:

println("The
status code is \(http200Status.statusCode)")
// 输出"The status code is 200"
println("The status message
is \(http200Status.description)")
// 输出"The status message is
OK"

5.nil能够用在常量上,也能够用在变量上.

Swift的nil和
Objective-C中的nil并不一样。


Objective-C中,nil是一个指向不存在对象的指针。在
Swift 中。nil不是指针——它是一个确定的值。用来表示值缺失。不论什么类型的可选都能够被设置为nil,不仅仅是对象类型。

nil不能用于非可选的常量和变量。

假设你的代码中有常量或者变量须要处理值缺失的情况,请把它们声明成相应的可选类型 //let test
: String = nil 这是错的

假设你声明一个可选常量或者变量可是没有赋值,它们会自己主动被设置为nil:
var surveyAnswer: String?
// surveyAnswer 被自己主动设置为 nil
        

6.假设相对变量的类型进行锁定,能够用 “ : “ 来确定,比如 :String,声明中的冒号代表着“是…类型”(只是一般Xcode会帮你自己主动推断类型)

7.swift str转int 类型是str.toInt()的方法,转str眼下仅仅会str.bridgeToObjectiveC().doubleValue,str.toInt()返回的是一个可选类型,也就是说能够为nil

8.能够用typealias进行类型别名

9.assertion 断言 通过一个推断能够进行调试(可带信息打印)

10.var possibleString:String?

=nil

//let possibleString: String? = "An optional string."       
println(possibleString)

//println(possibleString!)加叹号会蹦使用!来获取一个不存在的可选值会导致执行时错误。使用!来强制解析值之前,一定要确定可选包括一个非nil的值。

最新文章

  1. import renumber.py in pymol
  2. 一点点seo
  3. Flexigrid在IE下不显示数据的处理
  4. 浅淡Webservice、WSDL三种服务访问的方式(附案例)
  5. SQL Server服务启动失败,错误代码:10048
  6. 干I​n​l​a​y​的​生​产​过​程​
  7. MangoDb的安装及使用
  8. webpack4.0各个击破(5)—— Module篇
  9. MySQL自增列(AUTO_INCREMENT)相关知识点总结
  10. 用python表白了!!!
  11. POJ 3368
  12. Mybatis PageHelper 简单使用
  13. Java中关于CountDownLatch的使用
  14. was重要文件位置备忘
  15. linux- Fedora25 下 解决anacondas3 与ibus冲突问题
  16. Android开发——进程间通信之Messenger
  17. 【WPF】WPF DataGrid List数据源 双向绑定通知机制之ObservableCollection使用以及MultiBinding 的应用
  18. PPP点到点协议&pap验证
  19. iOS Png Crush 错误
  20. mysql学习笔记1---mysql ERROR 1045 (28000): 错误解决办法

热门文章

  1. JAVA Eclipse如何设置点击按钮切换图片
  2. JAVA Eclipse如何导出APK程序
  3. ionic中actionsheet在安卓中显示样式问题
  4. MYSQL优化之碎片整理
  5. js获取屏幕高度/浏览器高度
  6. Linux终端:speedtest_cli检测你的实时带宽速度
  7. java 中的 i++ 和 ++i
  8. java之Cookie具体解释
  9. nginx內建模块使用
  10. android 小游戏之数字猜猜