无法看到我在Parse中发布的消息

时间:2015-10-12 17:13:05

标签: swift parse-platform xcode7

我正在创建一个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()
    }

2 个答案:

答案 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")。

注意:这些步骤并非旨在解决您的问题所需的唯一步骤。它旨在通过一些基本步骤指导您正确的方向。

希望有所帮助! :)