2016-04-17 9 views
-1

関数外でマルチ配列を宣言して関数の外で使用する方法はありますか?私は規則的な配列と正規の辞書を行う方法を知っていますが、両方はできません。2つの配列の中で辞書を宣言する方法

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

上記のコードはviewDidLoadにあります。私はユーザーが更新機能を使用してそれを使用しようとしています。私は定期的な配列を知っている私は関数の外に配列を設定する必要があります(例 - var IhelpersCordinates = [])。私は上記の配列で同じことをどうやって行うのかを理解しようとしています。

+3

あなたが達成しようとしているものをもう少し説明できますか? –

+0

関数の外で宣言するだけです...インスタンス変数またはクラスプロパティと呼ばれています... –

+0

@MazelTov私は外に宣言しなければならないことは知っていますが、それを書く正しい方法はわかりません。配列内の配列[["": ""]] –

答えて

1

あなたの問題を正しく理解しているので、配列使用[[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) 
    } 
} 

ホーそれはあなたを助ける

+0

座標は別の関数から計算されるので、関数の中に配置することはできません。クラスの外でこのようなことをしたいのですが。var IhelpersCoordinates:[[String:Double]] = [:] <--- xcodeは、しかし、それは動作しません –

+0

編集された答えを確認してください – kamwysoc

+0

あなたは、 'Array >()'を使って 'IhelpersCoordinates' – kamwysoc

関連する問題