Fonksiyon parametre operatörü için kullandığımız:
let (biz atlayabilirsiniz yüzden, varsayılan operatör var let (biz bile yerel kopyasını değiştiremezsiniz anlamına gelir) bir parametre sürekli kılmak); değişken yapmak için
var (yerel olarak değiştirebiliriz, ancak işleve iletilen harici değişkeni etkilemeyecektir); ve bunu bir in-out parametresi yapmak için
inout . İçeri-dışarı, değişkeni değere göre değil, referansa göre geçirmek anlamına gelir. Ve o kadar, referans olarak geçmek ile pass, referans olarak değeri kabul Ayrıca tarafından değil sadece gerektirir & - foo(&myVar)
sadece yerinefoo(myVar)
Öyleyse şöyle yap:
var arr = [1, 2, 3]
func addItem(inout localArr: [Int]) {
localArr.append(4)
}
addItem(&arr)
println(arr) // it will print [1, 2, 3, 4]
Kesin olmak gerekirse, bu sadece bir referans değil, harici değişken için gerçek bir takma addır, bu nedenle herhangi bir değişken türü ile böyle bir numara yapabilirsiniz, örneğin tamsayı ile (ona yeni bir değer atayabilirsiniz), ancak bu bir iyi bir uygulama ve bunun gibi ilkel veri türlerini değiştirmek kafa karıştırıcı olabilir.
account
küresel değişken ve tanımlamachats
özelliğiChatsViewController
olarak:var chats: [Chat] { return account.chats }
.