2016-08-21 102 views
1

我已經將用戶的家庭地址作爲數組存儲在firebase中。它看起來像這樣:如何在字典鍵值中將變量的值設置爲數組?

Image for User Home Address

我現在想要抓住我的所有用戶數據,並將它們存儲到一個像這樣的詞典:

Image for Storing in a Dictionary

代碼的User()部分定義如上:

var users = [User]() 

[User]()它的一部分來自用戶.swift文件,該文件是在這裏:

class User: NSObject { 
    var fullName: String? 
    var email: String! 
    var userPhoto: String? 
    var homeAddress: [String:[Double]]() 
    var schoolOrWorkAddress: String! 
} 

錯誤是它的homeAddress部分。

在文件中,我爲我的所有用戶數據存儲創建了變量。我現在的問題是如何將家庭地址設置爲數組的值類型作爲該字典的鍵值。誰能幫忙?如果您有任何問題幫助我,請隨時發表評論。

+1

http://stackoverflow.com/a/34466568/6297658 – Dravidian

+0

PS:家庭地址充當字典中的鍵。我正在努力設置該鍵是2個座標數組的值。 –

+0

嗨,我是新來的迅速,並會愛,如果你能告訴我如何鏈接回答作品? –

回答

0

您可以嘗試覆蓋setValue函數以迭代homeAddress點。

// value in this case would be the points in your dictionary and the 
// the key would be "homeAddress" 
override func setValue(value: AnyObject?, forKey key: String) { 
    if key == "homeAddress" { 

     let homeAddressPoints = [HomeAddressPoint]() 
     for dict in value as! [[String: AnyObject]] { 
      let point = HomeAddressPoint() 
      point.setValuesForKeysWithDictionary(dict) 
      homeAddressPoints?.append(point) 
     } 

    } else { 
     super.setValue(value, forKey: key) 
    } 
} 

這只是一個想法,並希望你可以從此建立。

+0

**不要**覆蓋KVC方法,除非你真的需要KVC,在這個例子中不是這種情況。 – vadian

相關問題