Swift3中方法可变参数语法的一些改变
2016-07-04 08:45
411 查看
我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的.
不过我们可以在参数前添加var关键字改变其不变性:
不过遗憾的是在Swift2.x+中,已经明确表明方法参数的修饰关键字var将会在Swift3中被移除,所以为了产出这可恶的警告,你必须使用inout关键字,并且在调用方法传递实参时也要加上地址符:
that’s all!!!
不过在Xcode8.0beta中Swift3.0的预演版中,情况又有所变化,运行上述代码,编译器会提示你inout关键字放错地方了,你必须将inout放到冒号后面去:
你可以结合我之前写的一篇Swift中如何转换不同类型的Mutable指针来看,相信你一定有所收获 ;]
不过我们可以在参数前添加var关键字改变其不变性:
func foo(var i:Int){ i += 1 print(i) }
不过遗憾的是在Swift2.x+中,已经明确表明方法参数的修饰关键字var将会在Swift3中被移除,所以为了产出这可恶的警告,你必须使用inout关键字,并且在调用方法传递实参时也要加上地址符:
fun foo(inout i:Int){ i += 1 print(i) } var i = 10 foo(&i) print(i)
that’s all!!!
不过在Xcode8.0beta中Swift3.0的预演版中,情况又有所变化,运行上述代码,编译器会提示你inout关键字放错地方了,你必须将inout放到冒号后面去:
func test( i:inout Int){ i += 1 print(i) } var x = 10 test(&x) print(x)
你可以结合我之前写的一篇Swift中如何转换不同类型的Mutable指针来看,相信你一定有所收获 ;]
相关文章推荐
- Swift3中方法可变参数语法的一些改变
- Swift3中方法可变参数语法的一些改变
- swift中与js交互
- iOS --- 协议部分(swift2.3)
- iOS --- 如何在Swift项目中使用runtime?
- swift6-元祖
- Swift开发小技巧--识别选中照片中的二维码
- Swift开发小技巧--扫描二维码,二维码的描边与锁定,设置扫描范围,二维码的生成(高清,无码,你懂得!)
- Swift基础(九):错误处理
- iOS --- 扩展和泛型(swift2.3)
- cocoapods Swift使用
- Swift开发小技巧--自定义转场动画
- IOS开发笔记(Swift):通过ShareSDK和TYAlertController实现分享功能
- 【面试必备】Swift 面试题及其答案
- Swift中switch强大的模式匹配
- Swift中switch强大的模式匹配
- Swift中switch强大的模式匹配
- swift之"ambiguous use of subscript"
- 来自Linkedin的Swift编程风格指南
- Swift实战——模板模式