【发布时间】:2016-07-25 03:01:08
【问题描述】:
我非常沮丧,需要一些指导。我目前在 iOS 中有一个 Swift 应用程序通过 Heroku 运行 Parse(所以它没有死,这不是原因)。
直到昨天,一切都很顺利。我已经能够像这样读取和写入我的数据库并且一切正常:
let ideaPost = PFObject(className: "ideaPosts")
ideaPost["mood"] = moodField.text
ideaPost["ideaText"] = ideaTextField.text
ideaPost.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
print("Object has been saved.")
这是我的数据库作为证据:
我今天创建了所有这些对象。直到今天,我已经能够准确地查询和接收这样的对象:
ParseHelper.searchPosts(mood!, completionBlock: handleIdea)
和
static func searchPosts(searchText: String, completionBlock: PFQueryArrayResultBlock) -> PFQuery {
/*
NOTE: We are using a Regex to allow for a case insensitive compare of usernames.
Regex can be slow on large datasets. For large amount of data it's better to store
lowercased username in a separate column and perform a regular string compare.
*/
// let query = PFQuery(className: "ideaPosts").whereKey(("mood"),
// matchesRegex: searchText, modifiers: "i")
let query = PFQuery(className: "ideaPosts").whereKey(("mood").lowercaseString,
equalTo: searchText.lowercaseString)
query.orderByAscending("createdAt")
query.findObjectsInBackgroundWithBlock(completionBlock)
return query
}
如您所见,我引用了正确的类和正确的字段。据我所知(我昨晚走得很快,一定是不小心碰到了什么东西)我没有改变一点代码。我的项目因此毁于一旦。
为什么会这样?为什么我的结果总是空的?我输出返回的结果 PFObject,因为它作为一个空选项返回。
我认为我已经改变的唯一两件事是 1. 我重命名了我的项目(因此 Xcode 重命名了我的所有目标,但我没有构建错误或任何东西)并且早些时候我清理了(删除了一些行)在我的桌子上。
我还在我的帐户中添加了一个新的数据库/一组服务器但这不应该影响我认为的任何事情。生无可恋。这里出了什么问题?
我已经清理了我的构建和所有东西。
【问题讨论】:
-
嗨,在您的查询中,您指定了哪里心情 equalTo:searchText.lowercaseString 但是如果我查看您在“心情”列下附加的结果,我看不到任何小写字符串..我想你可以只删除小写字符串,只做equalTo:searchText。
标签: ios swift heroku parse-platform