Swift学习之每日一tip (4)版本对比与一些小技巧
来源:互联网 发布:如何查看电脑mac地址 编辑:程序博客网 时间:2024/04/30 04:39
首先,非常抱歉,昨天本来说是今天要给大家写一下1.1版本和1.2版本之间的区别的。但是,在整理后,1.2增加的许多功能网上早已经有人提出过了,所以这里就不占用大家的时间了,想知道的直接百度就可以了。
今天呢,小汤我就把我在编码中遇到的1.1的语法在1.2下冲突的一些小例子列举一下,并且给大家介绍一下swift中下划线与#号的一些小技巧吧。
1.1版本与1.2版本几个常见冲突:
数组的表示
1.1版本下:let emptyArray = String
1.2版本下:let emptyArray = Stringfor循环
1.1版本下:for i in 0..3 {
}
1.2版本下:for i in 0..<3 {
}枚举类型的原始值调用方法
1.1版本:toValue
1.2版本:rawValue排序方法名
1.1 sort
1.2 sorted
这几个是我在测试的过程中发现的几个常见的小冲突,肯定还有一些没有列举出来的,但是想来应该不多了,有找到其他冲突的大牛们,希望能够回复告知一下。
因为今天的内容写的实在过于无聊,想了想又决定添上几个小技巧。
“_”与“#”的一些小技巧
在Swift中,下划线和”#”有很多妙用,这里将已经看到的妙用进行总结,希望可以帮助更多学习Swift的朋友。下面先介绍下划线。
格式化数字字面量
通过使用下划线可以提高数字字面量的可读性,例如:let a = 123.000_001 let b = 1_000_000
忽略元组的元素值
当我们使用元组时,如果有的元素不需要使用,这时可以使用下划线将相应的元素进行忽略,例如:let http404Error = (404, "Not Found") let (_, error) = http404Error
代码中,只关心http404Error中第二个元素的值,所以第一个元素可以使用下划线进行忽略。
忽略区间值
let base = 3 let power = 10 var answer = 1 for _ in 1...power { answer *= base }
有时候我们并不关心区间内每一项的值,可以使用下划线来忽略这些值。
忽略外部参数名
在使用方法(类方法或者实例方法)时,方法的第二个参数名及后续的参数名,默认既是内部参数名,又是外部参数名,如果不想提供外部参数名,可以在参数名前添加下划线来忽略外部参数名。//函数定义 private func addChildViewController(sbName: String, title: String, imageName: String) {}//函数调用效果addChildViewController(<#sbName: String#>, title: <#String#>, imageName: <#String#>)
在上面的代码中,函数addChildViewController中有两个带外部参数名的项,如果不想使用外部参数名可以使用下划线进行忽略,代码可以写为(不过为了提高代码的可读性,一般不进行忽略):
//函数定义 private func addChildViewController(sbName: String, _ title: String, _ imageName: String) {} //函数调用时的效果 addChildViewController(<#sbName: String#>, <#title: String#>, <#imageName: String#>)

5. 配置外部参数名
在swift函数中,第二个及后续的参数,默认是具有和内部参数一致的外部参数名的,只有第一个参数没有,可以使用”#”符号来强制给第一个参数添加与本地参数名一致的外部参数名。
//函数定义 private func addChildViewController(#sbName: String, title: String, imageName: String) {}//函数调用效果 addChildViewController(sbName: <#String#>, title: <#String#>, imageName: <#String#>)
- Swift学习之每日一tip (4)版本对比与一些小技巧
- Swift学习之每日一tip (1)Selector
- Swift学习之每日一tip (2)词法结构
- Swift学习之每日一tip (3)闭包
- Swift学习之每日一tip (5)@autoclosure
- Swift学习之每日一tip (6) 单例
- Swift学习之每日一tip (7) @objc
- iOS每日一记——————一些常用的小技巧(一)
- Swift中一些小技巧、小知识点
- 一些小tip
- css一些小tip
- Python学习日志之小tip
- Sql Server每日一练-在select语句中使用top的一些小技巧
- Android Studio Tip of the Day(AS IDE每日小技巧,持续更新)
- 学习Swift之(一):关于swift与开发环境配置
- 【opencv 学习笔记】入门篇(一): 一些小技巧
- Swift基础学习笔记一(对比OC)
- 小Tip之int...
- JavaScript构造器理解
- 合并两个含有相同id的对象数组
- Java中的值传递和引用传递
- 利用exe4j将jar打包成exe文件
- [错误请修改] 4.19构建一个类book,含有两个私有成员qu和price
- Swift学习之每日一tip (4)版本对比与一些小技巧
- OJ——手指数数
- 理解Javascript对象(属性探测,删除属性,属性枚举)
- $(document).ready()与window.onload()区别
- 如何字段是关键字的情况下向Mysql中插入数据
- 15.permutations
- 字符匹配BF算法
- 关于note2等(Android4.1版本)以上无法启动支付宝的问题"java.security.spec.InvalidKeySpecException"
- JEECG第16期架构培训班15号开班,每期只有10个名额!想报名的同学速度啦!