2015-11-14 29 views
0

我從解析檢索到的數據的關鍵值的字典,我想將其追加到詞典中的格式如下 -SWIFT:從解析檢索數據並追加到

var guests = ["Event 1": ["Guest 1", "Guest 2", "Guest 3"], "Event 2": ["Guest 1", "Guest 2"], "Event 3": ["Guest 1", "Guest 2"], "Event 4": ["Guest 1", "Guest 2"]] 

使用下面的代碼,我已經能夠成功地檢索以下的數據,但我有問題搞清楚如何將其追加到詞典 -

enter image description here

//Retrieve guestlist data 
    let query = PFQuery(className:"GuestList") 
    query.whereKey("Family", equalTo: "Family 1") 
    query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error: NSError?) -> Void in 

     if error == nil { 

      if let objects = objects! as? [PFObject] { 

       //print(objects) 
       //self.objectArray.removeAll() 

       for object in objects { 

        //what code should I add here to append the object values into the dictionary 
        print(object) 

       } 

       self.tableView.reloadData() 
      } 

     } else { 

      print(error) 
     } 

    } 

    } 

} 

有四個事件可以邀請特定的訪客(在「(eventName)RSVP」列中由true/false表示)。如果客人被邀請參加一個活動(即「(eventName)RSVP」爲真),我希望它附加到字典中)。我的問題是:

  1. 我該如何定義字典?
  2. 我將使用什麼代碼將檢索到的數據附加到以下「鍵值」字典格式中? -

    var guests = [「Event 1」:[「Guest 1」,「Guest 2」,「Guest 3」],「Event 2」:[「Guest 1」,「Guest 2」], 3 「:[」 客人1" , 「嘉賓2」], 「事件4」:[ 「客人1」, 「嘉賓2」]]

回答

1

這樣如何:

func retrieveGuestlist() -> [String : [String]] { 

     var guestList = [String : [String]]() 

     let eventList = ["Hindu", "Reception", "Sangreet", "Tibetan"] 
     for event in eventList { guestList[event] = [String]() } 

     let query = PFQuery(className:"GuestList") 
     query.whereKey("Family", equalTo: "Family 1") 
     query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error: NSError?) -> Void in 
     if error == nil { 
      if let family = objects { 
       for guest in family { 
        for event in eventList { 
         if let invited = guest.valueForKey("\(event)RSVP") as? Bool { 
          if invited { 
           guestList[event]!.append(guest.valueForKey("GuestName") as! String) 
          } 
         } 
        } 
       } 
      } 
     } else { 
      print(error) 
     } 

     return guestList 
    } 
+0

即工作完美!謝謝。 – SB2015