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的值。

Swift学习 --- 2.1基础部分的更多相关文章

  1. swift学习笔记1——基础部分

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  2. Swift学习--微博的基础框架搭建

    学习如何使用Swift写项目 一.搭建微博项目的主框架 1.1--搭建功能模块 1.2--在 AppDelegate 中的 didFinishLaunchingWithOptions 函数,设置启动控 ...

  3. iOS ---Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  4. 12套swift学习资源分享

    虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...

  5. Swift学习初步(一)

    前几天刚刚将有关oc的教程草草的看了一遍,发现oc其实也不像传说的那么难.今天又开始马不停蹄的学习Swift因为我很好奇,到底苹果出的而且想要代替oc的编程语言应该是个什么样子呢?看了网上的一些中文教 ...

  6. Swift学习之常用UI的使用

    Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...

  7. [转]swift 学习资源 大集合

    今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...

  8. swift 学习资源 大集合

    今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...

  9. Swift学习目录

    本学习基于苹果官方Swift学习材料,保留了原版90%左右的内容(一些项目开发中基本不用的知识点没有整理),并根据理解进行整理.如对原版感兴趣,可以直接单击链接阅读和学习. 第一部分 基础篇 1.基本 ...

随机推荐

  1. 重入锁的好搭档:Condition条件(读书笔记)

      Condition结构提供了基本方法如下: void await() throws InterruptedException; void awaitUninterruptibly(); long ...

  2. C# Redis Server分布式缓存编程(一)

    这篇文章我将介绍如果用最简洁的方式配置Redis Server, 以及如何使用C#和它交互编程 一. 背景介绍 Redis是最快的key-value分布式缓存之一 缺点: 没有本地数据缓冲, 目前还没 ...

  3. maven生成jar包

    改了部分cas源码,想重新生成jar包,只好试着脱离eclipse,学了一下maven打jar包的命令,记录如下: 1.首先下载maven (请注意自己的jdk版本,如果使用maven2建议使用jdk ...

  4. AngularJS---Unknown provider: $routeProvider

    AngularJS路由报错: Unknown provider: $routeProvider 根据先知们的指引,在网上爬贴,有翻到官方的解决文章. 原来在AgularJS1.2.0及其之后的版本中, ...

  5. viewDidLayoutSubviews在ios7上导致应用崩溃

    在ios8中使用viewDidLayoutSubviews,应用正常运行,没有问题,但是应用在ios7上运行的时候,报错,导致应用崩溃,错误信息类似: Cannot find executable f ...

  6. 浅析VS2010反汇编 VS 反汇编方法及常用汇编指令介绍 VS2015使用技巧 调试-反汇编 查看C语言代码对应的汇编代码

    浅析VS2010反汇编 2015年07月25日 21:53:11 阅读数:4374 第一篇 1. 如何进行反汇编 在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息.如下图所示. ...

  7. vi/vim复制粘贴命

    1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:     y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:   ...

  8. Android基础笔记(十八)- Fragment

    博客的感悟终点-開始 什么是Fragment 加入fragment到Activity的两种方式 Fragment的生命周期 Fragment的向下兼容 Fragment之间的通信 博客的感悟,终点-開 ...

  9. SpringBoot启动流程分析(五):SpringBoot自动装配原理实现

    SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...

  10. MySQL_知识点

    1.执行顺序 语句模板: (8)SELECT (9)DISTINCT (11)<Top Num> <select list> (1)FROM [left_table] (3)& ...