समारोह पैरामीटर ऑपरेटर के लिए हम का उपयोग करें:
चलो (यह डिफ़ॉल्ट रूप ऑपरेटर है, इसलिए हम छोड़ सकते हैं करते हैं ) एक पैरामीटर निरंतर (इसका मतलब है कि हम भी स्थानीय प्रतिलिपि संशोधित नहीं कर सकते) बनाने के लिए; इसे परिवर्तनशील बनाने के लिए
var (हम इसे स्थानीय रूप से संशोधित कर सकते हैं, लेकिन यह उस बाहरी चर को प्रभावित नहीं करेगा जो फ़ंक्शन को पारित कर दिया गया है); और इन-आउट पैरामीटर बनाने के लिए
इनऑउट करें। इन-आउट का अर्थ वास्तव में संदर्भ द्वारा परिवर्तनशील चर है, मूल्य से नहीं। और यह न केवल आवश्यकता है, संदर्भ द्वारा मान को स्वीकार भी द्वारा करने के लिए, संदर्भ द्वारा इसे पारित करने के तो साथ इसे पारित और - 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 }
।