Ios 在Swift中将PFObject转换为NSString
问题是在解析时获取存储在不同类中的提要的注释,实际的问题是将主体作为字符串从类中取出 我总是收到一个错误,说“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; }] [{ 作者=测试; 身体=试验; }] 提前谢谢。好的,回答你的问题。您得到的错误实际上是不言自
[<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)
}
}
}
}