Swift - Parse结果现在总是空的但不是之前的?仍然可以发布对象但不能查询?

时间:2016-07-25 03:01:09

标签: ios swift heroku parse-platform

我非常沮丧,需要一些指导。我目前在iOS上有一个Swift应用程序通过Heroku运行Parse(因此它不会死亡,这不是原因)。

直到昨天,一切都进展顺利。我已经能够像这样读取和写入我的数据库,并且一切正常:

<?php
    if (isset($_POST['ssf'])) {
        $id_ss_kat          = $_POST['id_ss_kat'];
        $id_kat             = $_POST['id_kat'];
        $id_ss              = $_POST['id_ss'];

        foreach($id_kat as $kat) {
            $source.=$kat.", ";
        }
        $one=substr($source,0,-1);

        $q      = "INSERT into ss_kat VALUES('$id_ss_kat','$one','$id_sekolah')";
        $dq     = mysql_query($q);

        if ($dq) {
            echo "berhasil";
        }else{
            mysql_error();
        }

    }
?>

这是我的数据库作为证明:

enter image description here

我今天创造了所有这些对象。直到今天,我已经能够准确地查询和接收这样的对象:

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)

正如您所看到的,我引用了正确的类和正确的字段。据我所知(我昨晚快速移动,一定是不小心碰到了一些东西)我没有改变一些代码。由于这个原因,我的项目已经成了废墟。

为什么会这样?为什么我的结果总是空的?我输出返回的结果PFObject,因为它作为一个空的可选项返回。

我认为我改变的唯一两件事是1.我重命名了我的项目(因此Xcode重命名了我的所有目标,但我没有构建错误或任何东西)早些时候我清理了(删除了一些行)在我的桌子里。

我还在我的帐户中添加了一个新的数据库/服务器集但是这不应该影响我不会想到的任何事情。我很绝望。这里出了什么问题?

我已经清理了我的构建甚至一切。

1 个答案:

答案 0 :(得分:1)

如果搜索代码尝试将小写searchText与情绪属性(看起来像是)中的混合大小写数据匹配,则会生成空结果。

.whereKey(("mood").lowercaseString, equalTo:searchText.lowercaseString)

第一个操作数命名要比较的列,即"mood",值得注意("mood").lowercaseString == "mood"

正则表达式看起来更有前景。是否有可能评论出你最近做出的改变?

除了正则表达式之外,唯一不区分大小写匹配情绪列的方法是保留数据被强制为小写的mood_i之类的另一列,并搜索该列。初始化此类列的常见做法是afterSave