สำหรับตัวดำเนินการพารามิเตอร์ฟังก์ชันที่เราใช้:
let (เป็นตัวดำเนินการเริ่มต้นดังนั้นเราจึงสามารถละเว้นlet ) เพื่อสร้างค่าคงที่ของพารามิเตอร์ (หมายความว่าเราไม่สามารถแก้ไขแม้แต่สำเนาในเครื่อง)
varเพื่อทำให้เป็นตัวแปร (เราสามารถแก้ไขได้ในเครื่อง แต่จะไม่มีผลกับตัวแปรภายนอกที่ถูกส่งไปยังฟังก์ชัน) และ
InOutที่จะทำให้มันพารามิเตอร์ InOut In-out หมายถึงการส่งผ่านตัวแปรโดยอ้างอิงไม่ใช่ตามค่า และไม่เพียง แต่ต้องยอมรับค่าโดยการอ้างอิงเท่านั้น แต่ยังต้องส่งต่อด้วยการอ้างอิงด้วยดังนั้นให้ส่งด้วย& - foo(&myVar)
แทนที่จะเป็นเพียงfoo(myVar)
ทำเช่นนี้:
var arr = [1, 2, 3]
func addItem(inout localArr: [Int]) {
localArr.append(4)
}
addItem(&arr)
println(arr) // it will print [1, 2, 3, 4]
เพื่อความถูกต้องมันไม่ใช่แค่การอ้างอิง แต่เป็นนามแฝงจริงสำหรับตัวแปรภายนอกดังนั้นคุณสามารถใช้เคล็ดลับดังกล่าวกับตัวแปรประเภทใดก็ได้ตัวอย่างเช่นด้วยจำนวนเต็ม (คุณสามารถกำหนดค่าใหม่ให้กับตัวแปรได้) แม้ว่ามันอาจไม่ใช่ แนวทางปฏิบัติที่ดีและอาจทำให้เกิดความสับสนในการปรับเปลี่ยนชนิดข้อมูลดั้งเดิมเช่นนี้
account
ตัวแปรทั่วโลกและการกำหนดchats
คุณสมบัติของเป็น:ChatsViewController
var chats: [Chat] { return account.chats }