// 按引用传递 <用inout关键字声明按引用传递>
func swapTwoInts( _ a:inout Int, _ b: inout Int){
(a,b) = (b,a)
}
var x:Int = 1
var y:Int = 2
swapTwoInts(&x, &y)
x // 2
y // 1
func swapTwoInts( _ a:inout Int, _ b: inout Int){
(a,b) = (b,a)
}
var x:Int = 1
var y:Int = 2
swapTwoInts(&x, &y)
x // 2
y // 1
2017-06-26
这里的inout经测试,这样才才可以交换:
func swapTwoInts2( a:inout Int, b:inout Int){
var a1 = a
var b1 = b
let t = a1
a1 = b1
b1 = t
print("a2=",a1,"b2=",b1)
a = a1
b = b1
}
var a2 = 4
var b2 = 5
swapTwoInts2(a: &a2, b: &b2)
func swapTwoInts2( a:inout Int, b:inout Int){
var a1 = a
var b1 = b
let t = a1
a1 = b1
b1 = t
print("a2=",a1,"b2=",b1)
a = a1
b = b1
}
var a2 = 4
var b2 = 5
swapTwoInts2(a: &a2, b: &b2)
2017-06-17
在 swif 3中对于字典的操作已经没有 removeValueForKey()这个方法了,取代的是 removeValue(forKey:"email")这个方法,返回值还是删除的键的值。
2017-05-24
在 Swift3中的语法依旧是用英文逗号替代 where
if let oldPassword = oldPassword , let newPssword = info["password"] , newPssword == oldPassword {
print("新密码与原始密码一样,可能会导致安全问题")
}
if let oldPassword = oldPassword , let newPssword = info["password"] , newPssword == oldPassword {
print("新密码与原始密码一样,可能会导致安全问题")
}
2017-05-24
如“掃地僧”所说,确实在 swift3中已经改为了 range(of:“”)的形式了。查看范围可以把返回值存在一个变量里,然后通过变量来访问upperBound 和 lowerBound 方法,就可以返回老师所在演示中的值了
2017-05-23
M104 说的对,在 swift3.0中,同时解多个包的时候,每个变量都需要 let 或者 var ,另外在 if 语句中使用 where 在 swift 3.0中也被替代成了英文逗号。
2017-05-23
试了下,单参数的函数型变量被赋值的时候也要写括号不然会报错: error: single argument function types require parentheses
2017-05-13