2013-05-26 74 views
0

我想顯示一個表格視圖,我從Parse.com加載數據。我不使用最新版本的框架(因爲我的項目中沒有時間去更改其他模塊),這就是爲什麼我使用「keytoDisplay」並且沒有PFQueryTableViewCell類。Parse.com - TableView不加載單元格

我的問題涉及單元的加載:我的不加載!我把NSLogs放在我的代碼的每一部分,結果是不調用該方法(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object。

我不明白爲什麼......我驗證了我將tableview作爲Delegate和Datasource與我的viewcontroller(我使用Storyboards)鏈接起來。

我是一名初學者,在發佈之前我到處尋找答案,但沒有成功......我也下載瞭解析示例代碼,但是我沒有成功解決我的問題。

非常感謝您提前!

這裏是我的代碼:

#import "LiveList.h" 

@implementation LiveList 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSLog(@"TestViewDidLoad"); 
    // Custom the table 

    // The className to query on 
    self.className = @"LiveList"; 

    // The key of the PFObject to display in the label of the default cell style 
    self.keyToDisplay = @"Sport"; 

    // 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 = 50; 




    // 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 
{ 
[self setTableView:nil]; 
[super viewDidUnload]; 

// Release any retained subviews of the main view. 
// e.g. self.myOutlet = nil; 
} 

- (void)viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 

NSLog(@"testviewwillappear"); 

} 

- (void)viewDidAppear:(BOOL)animated 
{ 
[super viewDidAppear:animated]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
[super viewWillDisappear:animated]; 
} 

- (void)viewDidDisappear:(BOOL)animated 
{ 
[super viewDidDisappear:animated]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:   (UIInterfaceOrientation)interfaceOrientation 
{ 
// Return YES for supported orientations 
return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

- (void)didReceiveMemoryWarning 
{ 
// Releases the view if it doesn't have a superview. 
[super didReceiveMemoryWarning]; 

// Release any cached data, images, etc that aren't in use. 
} 

#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]; 
NSLog(@"test-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:@"LiveList"]; 

// 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) { 
// ** There are other caching options in Parse iOS guide 
query.cachePolicy = kPFCachePolicyNetworkElseCache; 
} 

[query orderByDescending:@"Sport"]; 

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 { 

NSLog(@"TableViewCell"); 


static NSString *CellIdentifier = @"Cell"; 

NSLog(@"CellIdentifier"); 

UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"]; 

NSLog(@"CellIdentifier2"); 

if (cell == nil) { 

    NSLog(@"Loop"); 

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
} 

// Configure the cell 

NSLog(@"ConfigureCell"); 

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

return cell; 
} 


#pragma mark - Table view delegate 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
[super tableView:tableView didSelectRowAtIndexPath:indexPath]; 
} 

@end 

回答

0

某處在你的代碼,你應該有沿着線的東西:

[mytableview reloadData]; 

你需要確保是塊你在哪裏檢索從分析即把它放在最後。這對我很有用。這是爲了處理異步調用。

乾杯。

相關問題