2015-07-22 3 views
0

Я создаю приложение, в котором пользователь может создать группу, а затем добавить некоторую информацию в эту группу. Для этого в базе данных синтаксиса создается PFRObject, и для этого объекта, содержащего всю информацию о группе, также создается PFRelation. У меня возникли проблемы с добавлением информации о соотношении в объект, который я хочу. Вместо приложения, добавляющего информацию к уже существующему объекту, он создает новый объект и отношение и добавляет туда информацию. Как добавить данные к уже существующему объекту? По достоинству оценят любые предложения.Невозможно добавить значения PFRelation к определенному объекту

@IBAction func CreateNewGroupAction(sender: AnyObject) { 
    var groupinfo = PFObject(className: "GroupInfo") 
    groupinfo["User"] = PFUser.currentUser()?.username 
    groupinfo["Interest"] = "Cars" 
    groupinfo.save() 

    let relationinfo = PFObject(className: "BeaterGroups") 
    relationinfo["GroupName"] = "CarGuys" 
    let relation = relationinfo.relationForKey("GroupInfo") 
    relation.addObject(groupinfo) 

    relationinfo.save() 

} 




var dataparse: NSMutableArray = NSMutableArray() 

func loaddata(){ 


    var findgroups: PFQuery = PFQuery(className: "BeaterGroups") 
    findgroups.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in 

     if error == nil && objects != nil { 

      if let objects = objects as? [PFObject] { 

       for object in objects { 

        self.dataparse.addObject(object) 

       } 

      } 

     } 

    self.tableView.reloadData() 
    } 


} 



override func viewDidLoad() { 
    super.viewDidLoad() 
    loaddata() 



} 


override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return self.dataparse.count 
} 





override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 



    let cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellidentifier, forIndexPath: indexPath) as! UITableViewCell 
    let cellDataParse: PFObject = self.dataparse.objectAtIndex(indexPath.row) as! PFObject 
    cell.textLabel?.text = cellDataParse.objectForKey("GroupName")! as? String 
return cell 
    } 
} 
+0

Не могли бы вы разместить больше кода, чтобы мы знали, где находятся уже существующие объекты, пожалуйста ... – kRiZ

ответ

0

Да, такое поведение ожидается с использованием текущего кода. let relationinfo = PFObject(className: "BeaterGroups") создает новый объект, тем самым добавив новую строку.

Что вам нужно сделать, так это добавить отношение к существующему объекту BeaterGroups. Это можно получить, используя запрос, например.