ios - 在用户交互发生之前,PFQueryTableViewController 不应该加载任何对象?

标签 ios objective-c uitableview parse-platform

我正在使用 PFQueryTableViewController,它应该只在用户按下按钮后才加载对象。问题出在 - (PFQuery *)queryForTable 方法上。

这是我的代码:

- (PFQuery *)queryForTable
{
    if (self.searchText) {
        PFQuery *titleQuery = [PFQuery queryWithClassName:@"photo"];
        [titleQuery whereKey:@"titleKey" containsString:self.searchText];

        PFQuery *descriptionQuery = [PFQuery queryWithClassName:@"photo"];
        [descriptionQuery whereKey:@"descriptionKey" containsString:self.searchText];

        PFQuery *searchQuery = [PFQuery orQueryWithSubqueries:@[titleQuery, descriptionQuery]];

        return stringSearchQuery;
    }

    return nil;
}

问题是,当用户决定时,我会在其他某个时间点手动调用 - (void)loadObjects。通过在此方法中返回 nil,PFQueryTableView 将无限期地保留加载指示器,并禁用用户交互。

我需要返回什么才能让表格 View 保持空白,然后在用户交互加载之后?

最佳答案

与其检查 searchText 是否存在,不如尝试将其默认为数据库中永远不会出现的内容,即虚拟字符串,如“@@@@@@虚拟字符串。永远不会出现在数据库中@@@@@@ @”。

这样,查询将被执行但不会返回任何结果——这应该使 TableView 为空。然后,当用户输入搜索字符串并点击按钮时,将使用真正的搜索字符串执行 queryForTable 代码。

关于ios - 在用户交互发生之前,PFQueryTableViewController 不应该加载任何对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23481403/

相关文章:

objective-c - NSOpenPanel 崩溃?

swift - tableview 下方的 iAd 横幅

objective-c - UITableView 崩溃

ios - 使用++ 字符命名 iOS 应用程序

iphone - 如何从核心数据中获取唯一字段值(song_type)

ios - 我想在时间格式为 hh :mm:ss 的标签上显示当前时间

iphone - 除以整数并得到小数答案

ios - 为什么在单元格不可见时调用 cellForRowAtIndexPath?

ios - 在 tableView 中重新加载后保持滚动位置

ios - 将用户重定向到特定的 ViewController - Swift 4