import UIKit /* 1.只有 .swift文件 所有的声明和实现都在同一个文件 并且相关的代码都需要写在 {}内 2.快捷键: option + click swift最常用的快捷键 没有之一 查看对象的描述信息 3.print 和 OC中的NSLog一样 打印 */ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //调用函数 demo7() } //switch 在swift中变得更加强大方便 //早日毕业 出任高级攻城狮 迎娶白富美 走向人生巅峰 //需要不断学习 /* 1. 可以不写break 2.每个case内至少有一条可以执行的语句 3.定义变量 不需要加 {} 限定作用域 4.可以同时case多个条件 5.判断的条件 不再局限整数类型 可以是任意类型 */ func demo7() { let money = "20000" switch money { case "18000","20000" : let str = "hahahah" print("高级攻城狮") print(str) case "12000": print("程序猿") case "8000": print("码农") default: print("打酱油") } } //3. ?? 快速判断是否为空 并且设置为空的默认值 func demo6() { //声明一个可选类型 var num: Int? = 10 let a = num ?? -1 print(a) } //guard let 守卫 作用: 能够防止代码结构层次嵌套太深 func demo5() { let urlString = "http://www.douniwan.com?type=" guard let url = NSURL(string: urlString) else { //为空才会进入分支 return } //守卫后面的 一定是必选类型的数据 print(url) } //分支结构的实际运用 //1. if let // 赋值 并且判断是否为空 不为空才会进入分支 func demo4() { //模拟发出一个网络请求 let urlString = "http://www.douniwan.com?type=" //convenience init? 便利构造函数 有可能生产一个url出来 有可能就难产了 // let url = NSURL(string: urlString) // // //实例化request // if url != nil { // let request = NSURLRequest(URL: url!) // print(request) // } if let url = NSURL(string: urlString) { let request = NSURLRequest(URL: url) print(request) } } // 分支结构 func demo3() { //推荐使用的分支结构 /* 1.条件 的 () 可以省略 2.{} 一定不能省略 2014 年 一个让苹果很没面子的安全漏洞 */ let i = 10 if i > 0 { print("大于0") } else{ print("小于0") } } //注意: 可选项是所有OC程序员转到Swift最头疼的问题 //建议: 根据Xcode智能提示 添加 ! 或者 ? // 每次使用 ? 和 ! 都思考一下 熟练了就知道如何使用 // //可选类型 func demo2() { //表示num 就是可选类型 可以为 Int数值 也可以为 nil //可选类型在打印的时候会自动加上 optional 表示可选类型 // ? : 有吗 // ! : 有!!!! // ! 惊叹号表示强制解包 没有的话就怒了 崩溃 Fatal error: unexpectedly found nil while unwrapping an Optional value swift最常遇到的错误 没有之一 var num: Int? //直接强制解包有风险 要谨慎 if (num != nil) { print(num!) } if num != nil { print(num) } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。