क्या स्विफ्ट के मूल Dictionary
से [NSDictionary initWithObjects: forKeys:]
के बराबर है?स्विफ्ट के बराबर `[NSDictionary initWithObjects: forKeys:]`
मैं कुंजी और मूल्यों के साथ दो सरणियों है और उन्हें एक शब्दकोश में डालने के लिए चाहते हैं। ऑब्जेक्टिव-सी में मैं इसे इस तरह करना चाहते हैं:
NSArray *keys = @[@"one", @"two", @"three"];
NSArray *values = @[@1, @2, @3];
NSDictionary *dict = [[NSDictionary alloc] initWithObjects: values forKeys: keys];
पाठ्यक्रम मैं दोनों सरणियों के माध्यम से एक काउंटर के साथ पुनरावृति कर सकते हैं के
, एक var dict: [String:Int]
का उपयोग करें और कदम से कदम सामान जोड़ें। लेकिन यह एक अच्छा समाधान प्रतीत नहीं होता है। zip
और enumerate
का उपयोग करना संभवतः एक ही समय में पुन: प्रयास करने के बेहतर तरीके हैं। हालांकि इस दृष्टिकोण का मतलब एक परिवर्तनीय शब्दकोश है, न कि एक अपरिवर्तनीय।
let keys = ["one", "two", "three"]
let values = [1, 2, 3]
// ???
let dict: [String:Int] = ["one":1, "two":2, "three":3] // expected result
ऑपरेटर के रूप में उपयोग करने के लिए '+' को परिभाषित करना बहुत सार्थक नहीं है। कोई अन्य फ़ंक्शन नाम अधिक आत्म व्याख्यात्मक होगा। – orkoden
एक तरफ '+' का अर्थ अर्थपूर्ण अर्थ है, क्योंकि यह शब्दकोश में एक नया तत्व जोड़ता है, दूसरी ओर यह जोड़ने के बजाय प्रतिस्थापित भी कर सकता है ताकि इसका प्रभाव हमेशा संचयी न हो। मैं व्यक्तिगत रूप से इसे सार्थक समझता हूं; यह केवल मुझे हो सकता है, हालांकि :) – Cristik