2014-11-02 10 views
5

बस स्विफ्ट सीखना, PHP से आ रहा है। मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या आप स्विफ्ट में गहरे घोंसले वाले सरणी कर सकते हैं।स्विफ्ट में बहुआयामी शब्दकोश संभव है?

$myArray = array(

"motorcycles" => array ("Honda", "Ducati", "Yamaha"), 
"cars" => array(
       "sedans" => array("Jetta", "Taurus", "Impala"), 
       "sport" => array("Porsche", "Ferarri", "Corvette"), 
       "trucks" => array (
           "shortbed" => array("Ford F150", "Dodge Ram 1500"), 
           "longbed" => array(
                "standardCab" => array("Ford F350", "Dodge Ram 2500"), 
                "crewCab" => array("Ford F350", "Dodge Ram 2500") 
                ) 
          ) 
      ) 

); 

उत्तर

6

हाँ, स्विफ्ट में है कि हो सकता है:

इस तरह की संरचना से
let myArray = [ 
    "motorcycles": ["Honda", "Ducati", "Yamaha"], 
    "cars": [ 
     "sedans": ["Jetta", "Taurus", "Impala"], 
     "sport" : ["Porsche", "Ferarri", "Corvette"], 
     "trucks" : [ 
      "shortbed" : ["Ford F150", "Dodge Ram 1500"], 
      "longbed" : [ 
       "standardCab":["Ford F350", "Dodge Ram 2500"], 
       "crewCab":["Ford F350", "Dodge Ram 2500"] 
      ] 
     ] 
    ] 
] 

पढ़ना मूल्यों हालांकि थोड़ा मुश्किल हो सकता है, के बाद से स्विफ्ट है यहाँ मैं किस बारे में बात कर रहा हूँ की एक PHP उदाहरण है प्रकार समझने में कठिनाई। standardCab वाहनों पाने के लिए, आप कर सकते हैं:

if let trucks = myArray["cars"]?["trucks"] as? [String:AnyObject] { 
    if let standardCab = trucks["longbed"]?["standardCab"] as? [String] { 
     println(standardCab) 
    } 
} 
+0

धन्यवाद, लेकिन मैं कोई त्रुटि मिलती है जब मैं अपने उदाहरण का उपयोग करें: "खेल का मैदान निष्पादन विफल"। ऐसा लगता है कि इसे काम करना चाहिए, हालांकि, उन उदाहरणों के आधार पर जिन्हें मैं ऑनलाइन ढूंढ पाया हूं। –

+0

यह मेरे लिए एक्सकोड 6.1 के साथ काम किया। एक्सकोड का कौन सा संस्करण आप चल रहे हैं? कंपाइलर की सहायता के लिए 'myArray' में एक प्रकार जोड़ने का प्रयास करें:' myArray: [स्ट्रिंग: AnyObject] = [' – vacawama

+0

आह, वह था। स्पष्ट रूप से 6.1 के मेरे संस्करण में एक बग था। मैंने नवीनतम निर्माण को पकड़ लिया और यह काम करता है। धन्यवाद! –

संबंधित मुद्दे