Swift-分支
来源:互联网 发布:淘宝秒杀不能付款 编辑:程序博客网 时间:2024/05/22 12:28
//: Playground - noun: a place where people can playimport UIKit/** if 在 C 语言中有一个特点:非零即真 if (_dataList == nil) { } * 在 swift 中,没有非零即真的概念!只有 true/false * 在编写分支语句是,必须准确的指定条件的真假*/let i = 10/** 1> 条件不需要括号 2> 必须要有 {} * 使用 swift 开发,要写出优雅的代码,非常有挑战*/if i > 5 { println("hello")}// 实际应用// convenience init?() 表示这个方法未必能够真的实例化出来一个对象// 在 oc 开发中,由于语法要求不严格,程序员通畅不考虑这些问题// 这些问题,都留着到崩溃的时候// 在 swift 中,要求在编写代码的时候,就必须考虑这些问题// 能够尽早地发现错误!let url = NSURL(string: "http://www.baidu.com/s?word=he")if url != nil { // NSURLRequest(URL: url 必须要有值 let request = NSURLRequest(URL: url!)}// 但是,如果要判断的条件很多,会让代码很难看!// swift 的设计者提供了一个解决方案// 使用 if 同时设置数值,这个技巧,在 swift 中,使用非常广if let url = NSURL(string: "http://www.baidu.com/s?word=he") { // 代码执行到此,url 就一定有值,所以不需要再使用 `!` let request = NSURLRequest(URL: url)}// 实际的应用技巧// ? 表示 可以有值(NSString),也可以没有值(nil)// ? 如果对象为空,就不会调用后面的方法,感觉上和 oc 中给 nil 发送消息类似// 本质上不一样,如果对象是 空,就不调用后面的方法// 提示:初学者,很多人对 ? ! 非常苦恼!可以借助 Xcode 智能提示辅助// 刀哥提示:每次的 ? ! 都思索一下,用不来多久就会习惯!var str: NSString?str = "hello"// 打印可选项的时候,同时会输出一个 Optional,提示开发者,这是一个可选项println(str?.length)//println(str!.length)let l = 10// 目前的代码存在什么风险?如果 str 没有设置初始值,会直接崩溃// 苹果把判断对象是否有内容的工作交给了程序员//let len = l + str!.length// 隆重推荐:?? 用来快速判断对象是否为 nillet len2 = l + (str?.length ?? 0)// 以下代码和上面的代码等效if str != nil { let len3 = l + str!.length}// ?? 的应用场景最多的就在tableView 的数据源方法var array: [String]?// 追加一项内容array = ["hello", "world"]println(array?.count ?? 0)
0 0
- Swift-分支
- Swift 分支语句
- Swift学习-逻辑分支
- Swift之分支
- swift 分支结构
- swift 逻辑分支
- Swift入门 02逻辑分支
- 【Swift基础】02逻辑分支
- Swift switch逻辑分支语句
- Swift语法04.逻辑分支
- Swift分支语句--if语句
- swift学习第三讲分支结构
- swift 学习<二> if分支, for循环,
- swift 2.0 分支语句 if...else & switch
- Swift基础篇——分支
- ios深度解析之Swift(分支语句)
- Swift 学习笔记 - 分支,循环,函数
- swift 学习记录(分支语句)
- linux之wait函数
- 关于android:configChanges
- 088 Merge Sorted Array [Leetcode]
- POJ 1285 - Combinations, Once Again 泛化背包!
- BRISK: Binary Robust Invariant Scalable Keypoints
- Swift-分支
- postgresql 导数据时无需输入密码设置
- Swift-循环
- android 的屏幕适配
- 手机脱离电脑持续抓LOG教程
- Single Number II LeetCode
- 数据结构学习笔记5-寻找最小的k个数(选择排序和堆排序)
- OC多文件开发简单例子实现(重点:self在对象方法中调用其他对象方法的3种方法)
- android.app.Activity 的介绍