OC 中我們已經(jīng)很習(xí)慣用指針傳值,各種代碼也都是指針滿天飛。而 Swift 作為一門全新的語言也借鑒了很多成熟現(xiàn)代語言的經(jīng)驗,如 Java, JavaScript, Python等?,F(xiàn)代語言的一大特點就是沒有指針。但是如何兼容 Cocoa 里歷史遺留下來的眾多含有指針的函數(shù)呢?Swift 出了這么個玩意兒。
let array = NSArray(array: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])
array.enumerateObjects(options: .concurrent) { (obj, idx, stop) in
print("內(nèi)容" + "\(obj)")
if idx == 3 {
stop.pointee = true
}
}
如上面代碼,這里的 stop 是一個 UnsafeMutablePointer<ObjCBool> 類型的數(shù)據(jù),這里如果要修改 stop 的值,只需將 stop 的 pointee 屬性改成相應(yīng)的值即可。