简介

  • 特点
    (1)优于OC,快速,安全
    (2)取消了预编译指令包括宏定义(OC用的太多了)
    (3)取消了OC指针和不安全访问的使用(看不到星星了)
    (4)舍弃 Objective-C 早期应用 Smalltalk 的语法,全面改为点语法
    (5)3.0中对Foundation框架做了很多改变,去除了NS,将绝大部分class转换成struct结构体(为了考虑性能和安全性,绝大部分使用结构体来代替以前的类,但是在实际使用感觉不到)
    (6)可以使用现有的 Cocoa 和 Cocoa Touch 框架
    , 以前是OC调UIKit,现在就是Swift调UIKit,这点事没问题的
    (7)Swift因为语法的严谨性可以让很多错误提前遇到,这样很少出现bug让程序停在main导致无法找到
    (8)@UIApplicationMain是程序的入口
    (9)只有.h没有.m
    (10)所有的代码都包括在{}里,默认方法func都有缩进!
    (11)语法的allocinit替换成()

  • PlayGround
    (1)可以看苹果官方自带的tips和100个tips,都在Placground来使用

  • 基础点
    (1)不适用self. 在闭包或者编译器提示的时候再使用
    (2)分号是用来分割语句的,如果一行洗很多,就可以加分号,一般时候可以不加
    (3)#function打印执行的函数
    (4)添加标记用到// MARK: - 选择,如果是接下来要做的可以用// TODO:和// FIXME:这些非常有用

一、常量和变量

定义

  • let 定义常量,一经赋值不允许再修改

  • var 定义变量,赋值之后仍然可以修改
    常量和变量的细节

  • 使用 : 类型,仅仅只定义类型

  • 常量有一次设置的机会

  • 应该尽量先选择常量,只有在必须修改时,才需要修改为 var

// 定义常量并且直接设置数值let x: Int = 10// 常量数值一经设置,不能修改,以下代码会报错// x = 30let y: Int// 常量有一次设置的机会,以下代码没有问题,因为 `y` 还没有被设置数值y = 10// 一旦设置之后,则不能再次修改,以下代码会报错,因为 `y` 已经被设置了数值// y = 50print(x + y)// 变量设置数值之后,可以继续修改数值var z: Intz = 100z = 200print(x + y + z)

自动推导

Swift 能够根据右边的代码,推导出变量的准确类型
只有相同类型的值才能够进行运算

// 整数默认的类型是 Intlet intValue = 200// 小数的默认类型是 Doublelet doubleValue = 10.5// 如果要对不同类型的数据进行计算,必须要显式的转换print(intValue + Int(doubleValue
        
		

网友评论