// 按引用傳遞 <用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