parse.com - recuperar - obteniendo mensajes totales del análisis usando swift2
recuperar mensajes borrados de linkedin (1)
Debe verificar cuántos objetos se devuelven en la consulta. ¿Es realmente 1 como esperabas, o 6? Establezca un punto de interrupción y descubra en esta línea:
let objects = query.findObjects()
Otro código que podría causar el error sería:
self.dataSourceAnyObject.append(objects!)
Recuerde, el método de fuente de datos de vista de tabla podría llamarse varias veces. Si agrega a este conjunto, podría anexarse erróneamente varias veces.
Cada vez que abro la aplicación, devuelve 6 filas, incluso si creé un nuevo usuario con 1 publicación, devuelve 6 filas. Además, cuando realizo la actualización para actualizar los datos, tengo que volver a abrir la aplicación para ver los nuevos datos agregados. este es mi código a continuación,
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
if PFUser.currentUser()?.objectId == nil{
PFUser.currentUser()?.saveInBackgroundWithBlock({ (success, error) -> Void in
let query = PFQuery(className: "JobPost")
let userPointer = PFUser.objectWithoutDataWithObjectId(PFUser.currentUser()?.objectId)
query.whereKey("postedBy", equalTo: userPointer)
let objects = query.findObjects()
self.dataSourceAnyObject.append(objects!)
})
} else {
let query = PFQuery(className: "JobPost")
let userPointer = PFUser.objectWithoutDataWithObjectId(PFUser.currentUser()?.objectId)
query.whereKey("postedBy", equalTo: userPointer)
let objects = query.findObjects()
self.dataSourceAnyObject.append(objects!)
}
print("Data''s in table =/(dataSourceAnyObject.count)")
return dataSourceAnyObject.count
}
Aquí está la celda interna
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "EmpPostTVCellIdentifier"
let cell: EmpPostTVCell? = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as? EmpPostTVCell
let query = PFQuery(className: "JobPost")
//creating a pointer
var userPointer = PFUser.objectWithoutDataWithObjectId(PFUser.currentUser()?.objectId)
query.whereKey("postedBy", equalTo: userPointer)
query.orderByDescending("createdAt")
let objects = query.findObjects()
for object in (objects as? [PFObject])!{
//print(object.objectId)
self.dataSource.append(object)
self.createdByDate.append((object.objectForKey("closingDate") as? NSDate)!)
print(dataSource)
print(createdByDate)
}
if dataSource.isEmpty{
print("no posts")
}else{
let itemArr:PFObject = self.dataSource[indexPath.row] as! PFObject
cell?.companyPostLabel.text = (PFUser.currentUser()?.objectForKey("companyName")!.capitalizedString)! as String
cell?.occupationPostLabel.text = itemArr["occupation"]!.capitalizedString as! String
cell?.countryPostLabel.text = itemArr["country"]!.capitalizedString as String
let companyImage: PFFile?
companyImage = PFUser.currentUser()?.objectForKey("profileImageEmployer") as! PFFile
companyImage?.getDataInBackgroundWithBlock({ (data, error) -> Void in
if error == nil{
cell?.companyLogoImage.image = UIImage(data: data!)
}
})
let dateArr = createdByDate[indexPath.row]
let strDate = Settings.dateFormatter(dateArr)
cell?.closingDateLabel .text = strDate
}//end of dataosource.isEmpty else clause
//Getting Image
// Configure the cell...
return cell!
}