网上找到了大神讲解的Swift2.0基础版
根据 视频 整理出 有关swift2.0的基础 和大家分享 也提醒自己 要学好它 打算以后用 swift开发
本笔记在playground中进行^ ^
一. 新手入门
/* 1.hello swift */ print("hello world,hello swift!") print("你好") /* 2.常量与变量 */ // 常量:基本上或可预见的期间内,恒定不变的量, // let let 北京到上海的距离 :Int 北京到上海的距离 = 1500 let 地球到月亮的距离 = 38_0000 // “_” 代表分位 // 变量:可主动变更或可预计期间内自有规律或无规律变动 // var var 上证指数 :Int 上证指数 = 4012 上证指数 = 3800 var 出行目的地 :String 出行目的地 = "三亚" 出行目的地 = "哈尔滨" 出行目的地 = "外滩" var 用电度数 = 200 var 学习目标 = "到苹果公司做ios高级开发工程师" 学习目标 = "到大城市找一份ios开发工作" // 思考:常量与变量的关系 let 国内搜索引擎老大 = "百度" // 代码注释 : 单行/多行注释 // 定义了一个常量 课程名,用于保存课程名称 let 课程名 :String /* 注释第一行 注释第二行 注释第三行 */ // 正确使用常量与变量 // 总是优先使用变量; /* 3.值的类型 */ /* 整型 */ // 整型 Integer 正数和0称为 Unsigned 负数称为 Signed // Int 跟在变量名之后 用冒号分隔 var x :Int // 介于2的正负次方之间 // Int8 Int16 Int32 Int64 Int.max // 2^64-1 Int8.max // 2^8-1 INT8_MAX Int8.min // -2^8 UInt8.max // 0到255 // swift默认Int 只鼓励你使用Int 值的类型首字母大写 var y = 999999966666666666 y = -12445345 /* 浮点型(小数型) */ // 单精度Float 32位的浮点数,精度6位 let a :Float a = 3.145926 // 双精度Double 64位的浮点数,精度15位 let b :Double b = 3.14159265732 // swift默认是Double 只鼓励你使用Double let c = 3.141592657321234 // 超过Double范围的值被视为 无穷 let aaa = 21452871470124612417451246124710241294521451264129041246128451246120747129461249.125e128621712072146219461289412974121241241284 // 负无穷 -Double.infinity // Not a Number Double.NaN /* 4.类型安全 */ // swift是”类型安全“语言 会提示出错 // 类型推断 let 火车乘客1 = "Micky" /* 5.数字字面量 */ // 整数字面量 // 十进制 10 0 -100 // 二进制 前缀0b 0b10 0b11 // 十六进制 前缀0x 一遍内存地址用16进制 0xFF // 浮点数字面量 // 十进制 3.1415e100 // 格式化(补零 千分位 万分位) 60 05 1_000_000_000_000.0000_001 /* 6.数值类型转换 */ // 变量与字面量 不同 let a1 :UInt8 = 250 UInt8.max // 如果需要四则运算 前提:小转大(范围/精度) let x1 = 3 let y1 = 0.14 let z1 = Double(x1) + y1 /* 整型与浮点型转换 */ // 整型转浮点型(精度增加) let r = 5 let p = Double(r) p // 浮点型转整型(小数被截断) 会丢失信息 let u = 1.414 let w = Int(u) w /* 7.类型别名 */ // 关键字 typealias 优点:更直观 一般不给系统名字起别名 typealias 整型 = Int // 给系统的Int起了一个别名 叫 整型 typealias 文本 = String /* 8.布尔类型 */ // 布尔型:Bool 用来表示逻辑上的真或假 通常用于判断条件是否成立 // 只有两个值 true false var 开关是否打开 = false /* 9.元组 */ // 多个值的随意组合 临时使用 // 圆括号内 各个值用逗号分开 ("micky",300,"黄钻",4) // 定义前 值前可以加前缀 已冒号分开 let mickytaobao = (user: "micky",account: 300,title:"黄钻",level: 4) // 要获取其中的某个值 用序号或前缀 mickytaobao.title mickytaobao.3 // 用于同时定义多个变量 或给多个变量同时赋值 var (a2,b2,c2) = (3,4,5) a2 b2 c2 // 用于多个变量交换值 (a2,c2) = (b2,c2,a2) a2 b2 c2 /* 10.可选类型 */ // optional 代表可能有值的情况。紧接原类型后加问号 ? // 如:用户资料的选填部分,如地址等 // optional var address : String? address // nil 代表变量中"值缺失"的情况 即可选变量的默认值 // 把一个可选变量“重置” var sex :Bool? = false sex = nil // 前提是sex为可选类型 才可以重置 /* 11.可选判断和可选拆包 */ // 可选判断 使用if语句判断可选变量是否有值(与nil比较) var sex1 : Bool? = true if sex1 == nil { print("没有选择性别") } else { print("用户选择了性别") } // 可选拆包 把可选变量中的值解压出来 在变量后加感叹号! // 前提是 可选变量 一定有值才可以 if sex1! == true { print("男性") } else { print("女性") } /* 12.可选绑定和绑定判断 */ // 可选绑定 将可选判断 可选拆包 “安全”组合在一起 // 如果可选变量有值 则将值保存于一个临时变量,可用if let 语句进行检查 // 格式 if let 临时常量 = 可选变量 { 语句 } var sex2 : Bool? = false if let sex = sex2 { print(sex) // sex 可以和sex2 取一样的名字 } else { print("没有选择性别") } // 多重绑定 一次可以对多个可选变量进行绑定 只需在绑定语句上用逗号分隔 var addr:String? = "上海市" if let sex = sex2,addr = addr { print(sex,addr) } else { print("用户性别和地址不完善") } // 绑定判断 加上where语句可以对绑定的结果进行判断 if let sex = sex2,addr = addr where !sex && addr == "上海市" { print(addr,"的美女包邮哦") } else { print("用户性别和地址不完善") } /* 13.有值可选类型 */ // 在变量类型后加感叹号 var 手机号 : Int! 手机号 = 18888888888 手机号 // 如果不确定是否有值 则用常规可选类型 /* 13.断言 */ // 程序继续运行必须满足的条件达不到 中断运行并提示用户以便调试 // 方法名assert // 一般用于开发过程中 检查一些必须的条件 var isNetwork : Bool = true assert(isNetwork,"网络不通")