Я пытаюсь получить имя Клиента, являющегося владельцем Vitrine.
Не удается получить доступ к атрибутам PFRelation
Вот мой код.
Чтобы сохранить данные, которые я делаю это:
self.vitrine["username"] = PFUser.currentUser()?.username
self.vitrine["name"] = nameTextField.text as String
var relation = self.vitrine.relationForKey("client")
relation.addObject(self.client)
self.vitrine.saveEventually { (success, error) -> Void in
if(error == nil){
}else{
println(error?.userInfo)
}
self.fetchAllVitrines()
self.navigationController?.popToRootViewControllerAnimated(true)
}
}
И это работает. В Parse я вижу, что отношение работает.
Я пытаюсь получить доступ к данным по отношению как это сделать:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("vitrineCell", forIndexPath: indexPath) as! VitrineTableViewCell
var object: PFObject = self.vitrineObjects.objectAtIndex(indexPath.row) as! PFObject
cell.nomeLabel.text = object["name"] as? String
let x: PFRelation = object["client"] as! PFRelation
// cell.clientNameTextView.text = object["client"]["name"] as String
return cell
}
Но когда я вхожу данные в столбце клиента является то, что кажется мне:
<PFRelation: 0x7b7f1390, 0x7b7cfdc0.client -> Client>
Пожалуйста, кто помогает меня. Я нахожусь на этом в течение 2 дней. Я читал более трех раз в Parse Doc. и я не нахожу способ сделать это.
С уважением, Диого АМАРАЛ
Ну, я добавить код:
query!.getFirstObjectInBackgroundWithBlock {
(object: PFObject?, error: NSError?) -> Void in
if error != nil || object == nil {
println("The getFirstObject request failed.")
} else {
println(object)
cell.clientNameTextView.text = object["name"] as? String
}
}
Но линия: cell.clientNameTextView.text = object["name"] as? String
бросает мне ошибку. «Невозможно присвоить значение типа« String »? к значению типа "Струнный!» ...
Я уже пробовал:
cell.clientNameTextView.text = object["name"] as! String
cell.clientNameTextView.text = object["name"] as String
cell.clientNameTextView.text = object["name"] as? String
Как я могу исправить это?
@DiogoAmaral Я обновил код примера, чтобы обработать опциональность первого объекта и лить в String. – rickerbh