Swift之inout关键字

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

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

第一个类.jpeg
第二个类.jpeg
结果.jpeg

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

Swift2_3写法.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 菊香不与百芳同,暄妍时节亦从容。 暖日躍金共蝶舞,清月闲听虫鸣浓。 寻常巷陌疏篱下,独立斜阳草树丛。 雨打落英哪曾...
    苦逼01阅读 196评论 0 0
  • 今天是我自学石头画的第5天。这几天有点懒,什么都不想画,不过今天新买的画笔到了,于是试着用它涂了个指甲油,我觉得既...
    呆兮阅读 886评论 1 2
  • 学习地址:http://codingpy.com/article/a-quick-intro-to-pandas/...
    vonhng阅读 333评论 0 1
  • 双锦拔罐器家用真空拔火罐抽气式24罐气罐非玻璃磁疗拔罐吸湿罐【包邮】 【在售价】19.80元 【券后价】9.80元...
    月亮妈咪爱分享阅读 739评论 0 0