parse.com tableview不加载对象

我试图从parse.com加载我的表视图中的数据,但表视图加载,但没有数据。 类名是@“Exibitor”,但没有加载。

@interface DMKViewControllerExhibitors () @end @implementation DMKViewControllerExhibitors - (id)initWithCoder:(NSCoder *)aCoder { self = [super initWithCoder:aCoder]; if (self) { // Customize the table // The className to query on self.parseClassName = @"Exibitor"; // The key of the PFObject to display in the label of the default cell style self.textKey = @"objectid"; // Uncomment the following line to specify the key of a PFFile on the PFObject to display in the imageView of the default cell style // self.imageKey = @"image"; // Whether the built-in pull-to-refresh is enabled self.pullToRefreshEnabled = YES; // Whether the built-in pagination is enabled self.paginationEnabled = YES; // The number of objects to show per page self.objectsPerPage = 25; } return self; } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // eg self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [super viewDidAppear:animated]; self.canDisplayBannerAds = YES; #pragma mark - Parse - (void)objectsDidLoad:(NSError *)error { [super objectsDidLoad:error]; // This method is called every time objects are loaded from Parse via the PFQuery } - (void)objectsWillLoad { [super objectsWillLoad]; // This method is called before a PFQuery is fired to get more objects } // Override to customize what kind of query to perform on the class. The default is to query for // all objects ordered by createdAt descending. - (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 orderByAscending:@"name"]; return query; } // Override to customize the look of a cell representing an object. The default is to display // a UITableViewCellStyleDefault style cell with the label being the first key in the object. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath object:(PFObject *)object { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; } // Configure the cell cell.textLabel.text = [object objectForKey:@"text"]; cell.detailTextLabel.text = [NSString stringWithFormat:@"name: %@", [object objectForKey:@"name"]]; return cell; } 

我是新来parsing,不能真正明白为什么不加载。 我需要它以降序列出所有名字。

我现在把这个ini和它抛出一个错误

*由于未捕获的exception“NSInternalInconsistencyException”而终止应用程序,原因:“此查询具有优秀的networking连接。 你必须等到它完成。 *首先掷出调用堆栈:

 - (PFQuery *)queryForTable { PFQuery *query = [PFQuery queryWithClassName:@"Exibitor"]; [query whereKey:@"Trade" equalTo:@"True"]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (!error) { // The find succeeded. NSLog(@"Successfully retrieved %lu scores.", (unsigned long)objects.count); // Do something with the found objects for (PFObject *object in objects) { NSLog(@"%@", object.objectId); } } else { // Log details of the failure NSLog(@"Error: %@ %@", error, [error userInfo]); } }]; return query; } 

也许你只是错过了粘贴这个代码到问题,但查询需要执行。 某处我们需要这样做…

 PFQuery *query = [self queryForTable]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (!error) { // have your tableView reloadData (you need an outlet to do this) } else { // Log details of the failure NSLog(@"%@", error); } }]; 

这是我的代码的一个副本,我不知道你的应用程序的设置是什么,但也许你可以从我的代码中取出一些东西,解决你的问题,祝你好运!

 - (PFQuery *)queryForTable { PFQuery *query = [PFQuery queryWithClassName:self.parseClassName]; query.cachePolicy = kPFCachePolicyCacheThenNetwork; if (self.canSearch == 0) { query = [PFQuery queryWithClassName:self.parseClassName]; } else { query = [PFQuery queryWithClassName:self.parseClassName]; NSString *searchThis = [searchedBar.text lowercaseString]; [query whereKey:@"Position" containsString:searchThis]; } [query orderByAscending:@"Position"]; // If Pull To Refresh is enabled, query against the network by default. if (self.pullToRefreshEnabled) { query.cachePolicy = kPFCachePolicyNetworkOnly; } // 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; } return query; }