Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Parse PFQueryTableViewController时出现SIGABRT_Ios_Objective C_Sigabrt - Fatal编程技术网

Ios 使用Parse PFQueryTableViewController时出现SIGABRT

Ios 使用Parse PFQueryTableViewController时出现SIGABRT,ios,objective-c,sigabrt,Ios,Objective C,Sigabrt,我试图从名为annound的解析类中提取数据,但在main.m中出现错误。我尝试过很多事情,包括重置模拟器 #import "AnnouncementTable.h" #import "ParseUI/PFQueryTableViewController.h" #import <Parse/Parse.h> @interface AnnouncementTable : PFQueryTableViewController @end @implementation Announceme

我试图从名为
annound
的解析类中提取数据,但在main.m中出现错误。我尝试过很多事情,包括重置模拟器

#import "AnnouncementTable.h"
#import "ParseUI/PFQueryTableViewController.h"
#import <Parse/Parse.h>
@interface AnnouncementTable : PFQueryTableViewController
@end
@implementation AnnouncementTable : PFQueryTableViewController
- (id)initWithStyle:(UITableViewStyle)style {
    self = [super initWithStyle:style];
    if (self) {
        // This table displays items in the Todo class
        self.parseClassName = @"Announce";
        self.pullToRefreshEnabled = YES;
        self.paginationEnabled = NO;
        self.objectsPerPage = 25;
    }
    return self;
}
- (PFQuery *)queryForTable {
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    // If no objects are loaded in memory, we look to the cache
    // first to fill the table and then subsequently do a query
    // against the network.
    if ([self.objects count] == 0) {
        query.cachePolicy = kPFCachePolicyCacheThenNetwork;
    }

    [query orderByDescending:@"createdAt"];

    return query;
}
- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
                        object:(PFObject *)object {
    static NSString *CellIdentifier = @"HawkCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                      reuseIdentifier:CellIdentifier];
    }

    // Configure the cell to show todo item with a priority at the bottom
    cell.textLabel.text = [object objectForKey:@"Header"];
    cell.detailTextLabel.text = [NSString stringWithFormat:@"Body: %@",
                                 [object objectForKey:@"Body"]];

    return cell;
}
@end
#导入“AnnouncementTable.h”
#导入“ParseUI/PFQueryTableViewController.h”
#进口
@接口公告表:PFQueryTableViewController
@结束
@实现公告表:PFQueryTableViewController
-(id)initWithStyle:(UITableViewStyle)样式{
self=[super initWithStyle:style];
如果(自我){
//此表显示Todo类中的项目
self.parseClassName=@“宣布”;
self.pullToRefreshanbled=是;
self.paginationEnabled=否;
self.objectsPerPage=25;
}
回归自我;
}
-(PFQuery*)queryForTable{
PFQuery*query=[pfqueryquerywithclassname:self.parseClassName];
//如果内存中没有加载任何对象,我们将查看缓存
//首先填写表格,然后进行查询
//反对网络。
如果([self.objects count]==0){
query.cachePolicy=kPFCachePolicyCacheThenNetwork;
}
[查询orderByDescending:@“createdAt”];
返回查询;
}
-(UITableView单元格*)表格视图:(UITableView*)表格视图
cellForRowAtIndexPath:(NSIndexPath*)indexPath
对象:(PFObject*)对象{
静态NSString*CellIdentifier=@“HawkCell”;
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
如果(单元格==nil){
单元格=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier];
}
//将单元格配置为在底部显示优先级为的待办事项
cell.textLabel.text=[object objectForKey:@“Header”];
cell.detailTextLabel.text=[NSString stringWithFormat:@“正文:%@”,
[objectobjectforkey:@“Body”];
返回单元;
}
@结束
我对XCode相当陌生,但我会尽力回答您可能有的任何问题

非常感谢


马特

你能再发一些代码吗?我没有发现任何明显的错误,但我会确保所有标识符和解析类名的拼写都是正确的。而且

if ([self.objects count] == 0) {
    query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
确保未启用本地数据存储,否则将导致错误,可能是SIGABRT。而且

    self.paginationEnabled = NO;
    self.objectsPerPage = 25;
我很好奇为什么要禁用分页,但指定每页的对象数。这是没有效果的。此外,分页是PFQueryTableViewController最好的功能之一,如果您不需要它,最好使用常规的UITableViewController。而且

cell.textLabel.text = [object objectForKey:@"Header"];
cell.detailTextLabel.text = [NSString stringWithFormat:@"Body: %@",
                             [object objectForKey:@"Body"]];

确保所有对objectForKey的调用都返回字符串,而不是nil或其他内容。

您能再发布一些代码吗?我没有发现任何明显的错误,但我会确保所有标识符和解析类名的拼写都是正确的。而且

if ([self.objects count] == 0) {
    query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
确保未启用本地数据存储,否则将导致错误,可能是SIGABRT。而且

    self.paginationEnabled = NO;
    self.objectsPerPage = 25;
我很好奇为什么要禁用分页,但指定每页的对象数。这是没有效果的。此外,分页是PFQueryTableViewController最好的功能之一,如果您不需要它,最好使用常规的UITableViewController。而且

cell.textLabel.text = [object objectForKey:@"Header"];
cell.detailTextLabel.text = [NSString stringWithFormat:@"Body: %@",
                             [object objectForKey:@"Body"]];
确保对objectForKey的所有调用都返回字符串,而不是nil或其他内容。

请参阅