在Swift中,常用的字符串、数组和字典,由OC中的NSString、NSArray和NSDictionary转变为了Swift中的String、Array和Dictionary。OC中的这几个数据类型都属于类,Swift中的这几个数据类型是结构体。Swift的数据类型相对OC来说更安全,运行速度更快,但是也会造成一些问题。我遇到的最大的问题就是结构体类型的数据在当做参数时是值传递,而不是指针传递,这样的话我就不能做到在方法内改变对象的值同时改变原对象的值。而OC的类由于是指针传递,可以很方便的实现这个效果。
所以,如果我们有指针传递的需求,有两种方法:
方法一、
在需要使用指针传递的地方使用OC的类,这个也是最容易想到的方法;
方法二、
使用关键字 inout,声明参数为指针。
例如:
以上代码语法为Siwft3.0,在Swift2.3中写法为: