我正在创建一个yik yak克隆,我似乎无法在Parse上的textField(字符串)中看到我发布的消息。我在代码中做了什么错误,并没有让它出现在Parse上?
@IBAction func postPressed(sender: AnyObject) {
if(currLocation != nil){
let testObj = PFObject(className: "BubbleTest")
testObj["userName"] = PFUser.currentUser()?.username
//testObj["profileName"] = PFUser.valueForKey("profileName") as! String
//testObj["photo"] = PFUser.currentUser()?.valueForKey("photo") as! PFFile
testObj["textField"] = self.textField.text
testObj["location"] = PFGeoPoint(latitude: currLocation!.latitude , longitude: currLocation!.longitude)
testObj["count"] = 0
testObj["replies"] = 0
testObj.saveInBackground()
self.dismissViewControllerAnimated(true, completion: nil)
}
else {
alert()
}
答案 0 :(得分:1)
你没有看到任何东西,因为你把它发布到错误的班级。根据图片BubbleTest
,该类的名称不是YikYakTest
替换此行
let testObj = PFObject(className: "YikYakTest")
通过
let testObj = PFObject(className: "BubbleTest")
您的代码应如下所示:
注意使用saveInBackgroundWithBlock方法,以便检查保存时是否有错误
let testObj = PFObject(className: "BubbleTest")
let username = PFUser.currentUser()?.username
testObj["userName"] = username
testObj["textField"] = self.textField.text
testObj["Location"] = PFGeoPoint(latitude:currLocation.latitude , longitude: currLocation.longitude)
testObj["count"] = 0
testObj["replies"] = 0
testObj.saveInBackgroundWithBlock { (success:Bool, error :NSError?) -> Void in
if error == nil
{
print("detail is saved")
self.dismissViewControllerAnimated(true, completion: nil)
}
else
{
print("error")
}
}
当您保存 PFGeopoint 坐标时,请将其保存到Location
列而不是location
答案 1 :(得分:0)
我知道我的许多开发者朋友遇到了类似的问题。我自己也有这个问题,现在已经解决了。所以希望我能从我从Parse查询数据中学到的东西提供一些见解:
尝试将 numberOfSectionsInTableView 方法更改为返回1 而不是0,如下所示:
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
您可能还需要一些数据结构来保存用户'帖子(消息):
var userPosts:NSMutableArray! = NSMutableArray()
此外,您的表格视图可以包含与您在userPosts中存储的帖子一样多的行:
override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
return userPosts.count
}
在 cellForRowAtIndexPath 中,将其替换为:
let object = PFObject(className: "BubbleTest")
有了这个:
let userPost : PFObject = self.posts.objectAtIndex(indexPath!.row) as! PFObject
...
cell.message.text = userPost.objectForKey("message") as! String
return cell
}
这会将自定义单元格的消息属性的文本设置为用户的消息(即:"测试1 2")。
注意:这些步骤并非旨在解决您的问题所需的唯一步骤。它旨在通过一些基本步骤指导您正确的方向。
希望有所帮助! :)