Parse platform 在ios应用程序的NSArray中获取解析类列时出错

Parse platform 在ios应用程序的NSArray中获取解析类列时出错,parse-platform,nsarray,pfquery,Parse Platform,Nsarray,Pfquery,需要帮助 伙计们,我正在为我的应用程序使用云数据后端解析。有一个列类型为file的解析类。它存储图像。在我的应用程序中,我需要获取此列中的所有可用图像并存储在数组中 接下来是错误和代码示例。据我所知,它在findObjectsInBackgroundWithBlock上失败。 请帮忙 错误: ***由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“此查询具有未完成的网络连接。你必须等到它完成。” 代码: PFQuery*queryForT

需要帮助

伙计们,我正在为我的应用程序使用云数据后端解析。有一个列类型为file的解析类。它存储图像。在我的应用程序中,我需要获取此列中的所有可用图像并存储在数组中

接下来是错误和代码示例。据我所知,它在findObjectsInBackgroundWithBlock上失败。 请帮忙

错误:

***由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“此查询具有未完成的网络连接。你必须等到它完成。”

代码:

PFQuery*queryForTable { NSLog@queryForTable*进入

PFQuery*query=[pfqueryquerywithclassname:self.parseClassName]; [查询whereKey:TAB_PARSE_WHERE_KEY equalTo:self.tShelfID]

//如果内存中没有加载任何对象,我们将首先查看缓存以填充表 //然后再对网络进行查询。 如果[self.objects count]==0{ query.cachePolicy=kPFCachePolicyCacheThenNetwork; }

NSLog@queryForTable***1**

[查询取消];//取消此查询发出的当前网络请求(如果有) [查询findObjectsInBackgroundWithBlock:^NSArray*对象,NSError*错误{

NSLog(@"queryForTable *** 2 ** ");

if (!error) {
    // The find succeeded.
    NSLog(@"Successfully retrieved "); 
    //for (PFObject *object in objects) {
        //NSLog(@"INSIDE FOR LOOOP");
        //NSLog(@"%@", object.bookId);
    //}
} else {
    // Log details of the failure
    NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}])

//[查询orderByAscending:TAB_PARSE_ORDER_KEY]

NSLog@queryForTable*退出; 返回查询


}从parse下载文件

首先需要调用simple query下载所有图像引用,然后需要使用parse.com的PFFile类

请查看此链接:

您可以在某个函数中编写以下代码,从parse下载文件

PFQuery *query = [PFQuery queryWithClassName:@"Your Classname"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        for (PFObject *currentObj in objects) {
            PFFile *currentFile = [currentObj objectForKey:@"Your column name in which files are stored"];
            // TO DOWNLOAD SYNCHRONOSLY
            NSData *fileData = [currentFile getData];
            UIImage *img = [UIImage imageWithData:fileData];
            //--------- You can store IMG object ref in your array and display --------//
            //TO DOWNLOAD ASYNCHRONOSLY
            [currentFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
                if (!error) {
            //--------- You can store IMG object ref in your array and display --------//
                    UIImage *img = [UIImage imageWithData:data];
                }
            } progressBlock:^(int percentDone) {
                NSLog(@"Download Complete Percentage");
            }];
        }
    }
}];

谢谢你的评论,马拉夫。我是应用程序开发新手。你能告诉我如何实施你的建议吗?你能告诉我你到底想用parse做什么吗?根据您的描述,您希望下载存储在parse中某个类的列中的文件。对吗?谢谢Malav,我现在拿到了..我写错了。现在获取如下self.tBookPages=[[objectobjectforkey:TAB\u SEGUE\u KEY\u Pages]getData]这样的列;然而,我仍然需要弄清楚如何获取整个列并存储在一个数组中。你不能只下载一列的数据。。因为parse还没有给出任何选项。。。您将获得每行所有列的所有数据。。所以你必须自己管理。