iOS开发Swift-基础部分

发布时间 2023-08-21 19:54:37作者: 临易

1.常量

let maxNum = 10    //单个常量赋值
let maxNum = 10, minNum = 2     //多个常量赋值用逗号隔开

2.变量

var x = 0.0   //单个变量赋值
var x = 0.0, y = 0.1     //多个变量赋值用逗号隔开

3.类型注解

系统可通过赋初始值进行自动推断。

var name: String   //冒号(:)加空格( )
name = "Hello"   //先注解再赋值

 

var name, address: String     //多个变量注解

 

let one: Int = 1     //同时注解和赋值

 

4.输出

print(name)     //输出一个变量/常量
print("welcome the \(address)")    //输出一串字符加变量,使用转义字符"\"与括号、变量名表示该变量

 

5.注释

//这是一条注释

/* 这也是
    一条注释 */

/* 这是一个篮子
/* 这是篮子里的苹果 */
    这样方便将有注释的代码注释掉 */

 

6.分号

平时可加可不加,同一行中有两句话必须加。

let cat = "?"; print(cat)

7.整数

Int           UInt(最好不用)

8.浮点数

Double

64位 很大/高精度情况下使用 15位小数

Float

32位 对精度要求不高的情况下用 6位小数

9.Swift语言自带类型安全与类型推断,根据赋值类型推断变量/常量字符类型。

10.字符型字面量

十进制数   17
二进制 0b前缀 0b10001
八进制 0o前缀 0o21
十六进制 0x前缀 0x11

11.强制转换

let Pi = Double(three) + 0.1415926
let iPi = Int(Pi)  //截断小数,3.14159会变成3 

12.类型别名

typealias Audio = UInt16   
//typealias:类型别名关键字;Audio:别名;UInt16:原名

13.布尔值(Bool)

let a = true
let b = false

14.元组(tuples)

let http404Error = (404,"Not Found")   //这是一个(Int,String)元组
//元组定义
let (Code,Message) = http404Error
//元组分解
print("status is \(Code)")
print("status is \(Message)")
//当只需要这个元组的一部分时,元组半分解
let (Code,_) = http404Error
print("status is \(Code)
//下标分解
print("status is \(http404Error.0)")
//命名分解
let http404Error = (Code: 404, Message: "Not Found")
print("status is \(http404Error.Code)")

 

15.可选类型(optionals)

let a = "123"
let b = Int(a)  //b是一个可选类型的Int(Int?)

16.nil

类似于java中的null,是一个值,表示值缺失。

17.可选绑定

if var a = Int(b){    //Int(b)为nil或赋值false,if判断为false
    print("true")
    }

18.隐式解析可选类型

可选类型 option 可能有值,也可能无值 Int?
强制解析   如果确定有值则解析值。如果没有值(nil),则强制解析会崩溃 a!
可选绑定 判断是否有值  
if let a = b{
    print("")
    }else{
        peint("×")
        }

 

 

自动解析

(隐式解析)

声明变量时就用"!",使用时会自动解析值,而不需要加"!"

如果它之后可能会成为nil时不要使用隐式解析可选类型!当解析nil时程序会崩溃。

 
//未使用隐式解析时
var dog: String? = "旺财"
let cat: String = dog!
let fish: String = dog!
let monkey: String = dog!
//使用隐式解析时
var dog: String! = "旺财"
let cat: String = dog
let fish: String = dog
let monkey: String = dog

 

 

19.错误处理

可推断运行失败原因,并传播出去

//1.抛出
func AnError() throws{
    //可能有错的函数
}
//2.可能有一个错并打印问题
do{
    try AnError()
    //没有错时运行的函数
    }catch{
        //有错时抛出的内容
        }
//3.可能有两个错并打印问题
do{
    try TwoErrors()
    //没有错时运行的函数
    success()
    }catch ErrorsMessage.oneError{
        //出现第一个错时抛出的内容
        OneReeor()
        }catch ErrorsMessage.twoReeor{
             //出现第二个错时抛出的内容
            TwoError()
            }

 

20.断言和先决条件

断言和先决条件指在编码时赋予一个必要条件或期望,运行时如果这个条件为true则继续运行,如果为false则终止运行。

断言帮助找到错误假设,仅在调试环境中止。先决条件帮助找到存在的问题,在调试环境和生产环境出问题都会被中止。

21.断言调试

let age = -3
assert(age >= 0, ”年龄不能小于0")

 

assert(条件,"提示")
assert(条件)

断言失败:用于检查条件判断是否完全。

if age > 10{
    print("年龄>10")
    }else if age > 0 {
        print("0<年龄<10")
        }else{
            assertionFailure("有个条件还没判断")
            }

22.强制执行先决条件

一个条件可能为假,但后续运行必须为真。

precondition(index>0,"下标必须大于0")

unchecked模式不执行先决条件。

23.fatalError(_:file:line:)

用于没实现的方法,不会被优化掉,运行到此时程序被中断。