Ios 在Swift中将PFObject转换为NSString

Ios 在Swift中将PFObject转换为NSString,ios,uitableview,swift,parse-platform,pfquery,Ios,Uitableview,Swift,Parse Platform,Pfquery,问题是在解析时获取存储在不同类中的提要的注释,实际的问题是将主体作为字符串从类中取出 我总是收到一个错误,说“PFObject不是NSString的子类型” 本阶段的输出为 [<Comment: 0x7ffa98f2a560, objectId: efB384DliK, localId: (null)> { author = test; body = test; }] [{ 作者=测试; 身体=试验; }] 提前谢谢。好的,回答你的问题。您得到的错误实际上是不言自

问题是在解析时获取存储在不同类中的提要的注释,实际的问题是将主体作为字符串从类中取出

我总是收到一个错误,说“PFObject不是NSString的子类型”

本阶段的输出为

[<Comment: 0x7ffa98f2a560, objectId: efB384DliK, localId: (null)> {
    author = test;
    body = test;
}]
[{
作者=测试;
身体=试验;
}]

提前谢谢。

好的,回答你的问题。您得到的错误实际上是不言自明的。您正在尝试将
PFObject
转换为
NSString
,这当然不起作用

调用时会发生错误

var Comment = CommentObjects["body"] as String!
正如你提到的。之所以会发生这种情况,是因为您这样定义了
CommentObjects

var CommentObjects = Comments
注释

var Comments = [PFObject]() 

这a)没有多大意义,b)导致错误,因为
CommentObjects
实际上是一个
PFObjects
数组,因此
CommentObjects[“body”
返回一个
PFObject
,您正试图将其转换为字符串。

谢谢Sebastian,这就是我现在拥有的

var selectedFeed: PFObject!
didSelectRowAtIndexPath
中,我设置了此选项

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        var FeedObjects = self.Feeds[indexPath.row]
        self.selectedFeed = FeedObjects...
创建了一个
func
,用于检索所选行的注释

func retrieveComments() {
        var dateFormatter:NSDateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
        var queryComment = PFQuery(className:"Comment")
        queryComment.whereKey("post", equalTo: selectedFeed)
        queryComment.orderByAscending("createdAt")
        queryComment.findObjectsInBackgroundWithBlock { (comments:[AnyObject]!, error:NSError!) -> Void in
            if error == nil {
                for comment in comments {
                    var commentBody = comment["body"] as String
                    var commentAuthor = comment["author"] as String
                    var commentDate = dateFormatter.stringFromDate(comment.createdAt)
                }
            }
        }
    }
当出现
showtailsviewcontroller
时,调用
retrieveComments()


很抱歉浪费了您的时间。

表视图的代码实际上与您的问题无关,是吗?尽量缩小你的问题范围,以便人们更快地了解你的问题。错误发生在哪一行?这里没有。当我将var Comment=CommentObjects[“body”]设置为字符串时!例如,这是行不通的
CommentsObjects
是一个
PFObject
数组。我认为在试图解决这个问题之前,您应该先清理一下(例如,更多的变量名,不要交叉分配变量等)。老实说,它看起来有点乱。我回家后会看一看。我真的不明白你的直接意思,但让我们看看,也许我下班后会明白。所有的一切都很好^^
func retrieveComments() {
        var dateFormatter:NSDateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
        var queryComment = PFQuery(className:"Comment")
        queryComment.whereKey("post", equalTo: selectedFeed)
        queryComment.orderByAscending("createdAt")
        queryComment.findObjectsInBackgroundWithBlock { (comments:[AnyObject]!, error:NSError!) -> Void in
            if error == nil {
                for comment in comments {
                    var commentBody = comment["body"] as String
                    var commentAuthor = comment["author"] as String
                    var commentDate = dateFormatter.stringFromDate(comment.createdAt)
                }
            }
        }
    }