Swift疑点解决(1)

前端之家收集整理的这篇文章主要介绍了Swift疑点解决(1)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

2014年苹果发布新语言Swift。Swift是面向对象用于开发iOS和Mac OS 应用的语言。我最近也在关注这个技术,以下是我学习过程中的某些疑问。以及解决问题的方法

Swift 定义数组和字典的方式:

数组(很多人会这样做)

var@H_301_22@ shoppingList:String@H_301_22@[] = ["Eggs"@H_301_22@,"Milk"@H_301_22@]

@H_301_22@ 其实现在这个样做是错误的,在新版本Swift里已经改变了方式:

@H_301_22@ var@H_301_22@shoppingList: [String]@H_301_22@= ["Eggs"@H_301_22@,"Milk"@H_301_22@]

@H_301_22@@H_301_22@ 最好的做法是利用Swift类型推断的特性:

@H_301_22@@H_301_22@ var@H_301_22@shoppingList@H_301_22@= ["Eggs"@H_301_22@,"Milk"@H_301_22@]

字典

var airports:[String:String]=["TYO":"Tokyo","DUB":"Dublin"]
var airports=["TYO":"Tokyo","DUB":"Dublin"]

Swift中数组和字典传递的是值还是引用?

真实的做一个例子能让我们明确。

@H_301_22@ var@H_301_22@ a=[1@H_301_22@,2@H_301_22@,3@H_301_22@]

@H_301_22@ var@H_301_22@ b = a

@H_301_22@ var@H_301_22@ c = a

@H_301_22@ a[0@H_301_22@]=42@H_301_22@;

@H_301_22@ println@H_301_22@("@H_301_22@a[0@H_301_22@]:@H_301_22@\(a[0@H_301_22@])"@H_301_22@);

@H_301_22@ println@H_301_22@("@H_301_22@b[0@H_301_22@]:@H_301_22@\(b[0@H_301_22@])"@H_301_22@);

@H_301_22@ println@H_301_22@("c@H_301_22@[0@H_301_22@]:@H_301_22@\(c[0@H_301_22@])"@H_301_22@);

@H_301_22@ 结果输出@H_301_22@a[0@H_301_22@]:42 b[0]:0 c[0]:0

所以网上一些文章写的@H_301_22@@H_301_22@a[0@H_301_22@]:42 b[0]:42 c[0]:42是错误的。

猜你在找的Swift相关文章