Swift之inout关键字

在Swift中,常用的字符串、数组和字典,由OC中的NSString、NSArray和NSDictionary转变为了Swift中的String、Array和Dictionary。OC中的这几个数据类型都属于类,Swift中的这几个数据类型是结构体。Swift的数据类型相对OC来说更安全,运行速度更快,但是也会造成一些问题。我遇到的最大的问题就是结构体类型的数据在当做参数时是值传递,而不是指针传递,这样的话我就不能做到在方法内改变对象的值同时改变原对象的值。而OC的类由于是指针传递,可以很方便的实现这个效果。

所以,如果我们有指针传递的需求,有两种方法:
方法一、
在需要使用指针传递的地方使用OC的类,这个也是最容易想到的方法;
方法二、
使用关键字 inout,声明参数为指针。
例如:

Swift之inout关键字_第1张图片
第一个类.jpeg
Swift之inout关键字_第2张图片
第二个类.jpeg
Swift之inout关键字_第3张图片
结果.jpeg

以上代码语法为Siwft3.0,在Swift2.3中写法为:

Swift之inout关键字_第4张图片
Swift2_3写法.png

你可能感兴趣的:(Swift之inout关键字)