2016-04-17 69 views
-1

如何在其函數之外聲明一個多數組,以便在函數之外使用它?我知道如何做一個普通的數組和一個普通的字典,但不是兩個。如何在兩個數組中聲明一個字典

IhelpersCoordinates = [ 
    [ 
     "Latitude":IhelpersLatitude, 
     "Longitude": IhelpersLongitude, 
     "userId": IhelpersUid 
    ] 
] 

上面的代碼在viewDidLoad中。我試圖在用戶更新功能中使用它。我知道一個常規的數組,我必須在函數之外設置數組(例如-var IhelpersCordinates = [])。我想弄清楚我會如何做與上面的數組相同。

+3

你能解釋一下你試圖實現的更多嗎? –

+0

只需在函數之外聲明...它被稱爲實例變量或類屬性... –

+0

@MazelTov我知道我必須在外面聲明它,但是我不知道寫它的正確方法,因爲它是一個字典array [array [[「」:「」]] –

回答

1

因爲我正確理解你的問題,你可以在數組use [[String:Double]]中聲明一個字典。

class YourClass { 
     var IhelpersCoordinates : [[String:Double]] = [ 
      [ 
        "Latitude": 53.02, 
        "Longitude": 19.04, 
        "userId": 123 
      ], 
      [ 
        "Latitude": 51.02, 
        "Longitude": 20.04, 
        "userId": 124 
      ], 

    ] 

    func exampleFunc(){ 
     print(IhelpersCoordinates[0]["Latitude"]) // this will print 53.02 
     print(IhelpersCoordinates.count) // this will print 2, because it's 2 elements array of dictionaries. 
    } 
} 

在評論

如果要聲明一個dictionary inside an array inside an array試試這個代碼編輯羣:

class YourClass { 

    var IhelpersCoordinates : Array<Array<[String:Double]>> = [ 
      [ 
        [ 
          "Latitude": 53.02, 
          "Longitude": 19.04, 
          "userId": 123 
        ], 

      ], 
      [ 
        [ 
          "Latitude": 53.02, 
          "Longitude": 19.04, 
          "userId": 123 
        ], 

      ], 
    ] 

    func exampleFunc(){ 
     print(IhelpersCoordinates[0][0]["Latitude"]) 
     print(IhelpersCoordinates.count) 
    } 
} 

EDIT 2

class YourClass { 
    public var IhelpersCoordinates = Array<Array<[String:Double]>>() 

    func calculate() { 
     var element = [ 
      [ 
        "Latitude": 53.02, 
        "Longitude": 19.04, 
        "userId": 123 
      ] 
     ] 
     var element1 = [ 
      [ 
        "Latitude": 54.02, 
        "Longitude": 19.04, 
        "userId": 122 
      ] 
     ] 

     self.IhelpersCoordinates.append(element) 
     self.IhelpersCoordinates.append(element1) 
    } 

    func printValues() { 
     print(self.IhelpersCoordinates.count) 
    } 
} 

何pe它幫助你

+0

座標是從另一個函數計算的,所以我不能把它們放在函數裏面我想在類之外做這樣的事情var IhelpersCoordinates:[[String:Double]] = [:] <--- xcode建議添加這個但它不起作用 –

+0

檢查已編輯的答案 – kamwysoc

+0

您需要使用Array >()初始化IhelpersCoordinates' – kamwysoc

相關問題