स्विफ्ट में एरे का पूरा मूल्य शब्दार्थ है, इसलिए किसी भी चीज की कोई आवश्यकता नहीं है।
var duplicateArray = originalArray आपको जो चाहिए वह यह है।
यदि आपके सरणी की सामग्री एक संदर्भ प्रकार है, तो हाँ, यह केवल आपकी वस्तुओं के लिए संकेत कॉपी करेगा। सामग्री की गहरी प्रतिलिपि बनाने के लिए, आप इसके बजाय mapप्रत्येक उदाहरण की एक प्रति का उपयोग और प्रदर्शन करेंगे। फ़ाउंडेशन वर्गों के लिए जो NSCopyingप्रोटोकॉल के अनुरूप हैं , आप copy()विधि का उपयोग कर सकते हैं :
let x = [NSMutableArray(), NSMutableArray(), NSMutableArray()]
let y = x
let z = x.map { $0.copy() }
x[0] === y[0] // true
x[0] === z[0] // false
ध्यान दें कि यहां ऐसे नुकसान हैं कि स्विफ्ट के मूल्य शब्दार्थ आपको उदाहरण के लिए रक्षा करने के लिए काम कर रहे हैं, क्योंकि NSArrayएक अपरिवर्तनीय सरणी का प्रतिनिधित्व करता है, इसकी copyविधि सिर्फ एक संदर्भ देती है, इसलिए ऊपर दिए गए परीक्षण अप्रत्याशित परिणाम प्राप्त करेंगे।
var duplicateArray = originalArray