在我的视图控制器中,我刚添加了一个TableView。 我在file.h中输入了file.m的所有代理。 即使在故事板中也已正确输入单元格的标识,并且自定义单元格已连接到我创建的单元格自定义类。
现在我把这段代码(使用Parse.com)没有得到任何一种错误,代码总是超级干净,但是当我去运行表时没有向我显示任何数据,好像它已连接如果没有重用标识符,则单元格或作为自定义类,而不是两个步骤都已完成...我不明白为什么我看不到任何内容...你能弄清楚错误是什么吗?
# import " FFFriendInAttesa.h "
# import " FFCustomCellFriendInAttesa.h "
@ interface FFFriendInAttesa ()
@ end
@ implementation FFFriendInAttesa
- (Void) viewDidLoad
{
[super viewDidLoad ] ;
self.FFTableView.delegate = self ;
self.FFTableView.dataSource = self ;
[self QueryForTableView ] ;
}
- ( NSInteger ) numberOfSectionsInTableView : ( UITableView * ) tableView
{
return 1;
}
- ( NSInteger ) tableView : ( UITableView * ) tableView numberOfRowsInSection : ( NSInteger ) section {
return [ self.UtentiInAttesa count] ;
}
- (void) { QueryForTableView
PFQuery QueryForUserClass * = [ PFUser query ] ;
[ QueryForUserClass findObjectsInBackgroundWithBlock : ^ ( NSArray * objects , NSError * error ) {
if ( error) {
self.UtentiInAttesa = objects ;
NSLog ( @ " start query : % @ " , self.UtentiInAttesa ) ;
}
} ] ;
[ self.FFTableView reloadData ] ;
}
- ( UITableViewCell * ) tableView : ( UITableView * ) tableView cellForRowAtIndexPath : ( NSIndexPath * ) indexPath
{
static NSString * CellIdentifier = @ " CellaAmici " ;
FFCustomCellFriendInAttesa * cell = [ self.FFTableView dequeueReusableCellWithIdentifier : CellIdentifier forIndexPath : indexPath ] ;
if ( cell) {
cell = [ [ FFCustomCellFriendInAttesa alloc ] initWithStyle : UITableViewCellStyleDefault reuseIdentifier : @ " CellaAmici "] ;
}
PFObject * user = [ self.UtentiInAttesa objectAtIndex : indexPath.row ] ;
cell.FFNomeFriendLabel.text = [user objectForKey : FF_USER_NOMECOGNOME ] ;
return cell ;
}
@ end
File.h
#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
@interface FFFriendInAttesa : UIViewController <UITableViewDataSource, UITableViewDelegate>
@property (strong, nonatomic) IBOutlet UITableView *FFTableView;
@property (strong, nonatomic) NSArray *UtentiInAttesa;
@end
答案 0 :(得分:1)
您的错误是在数据源更新之前刷新了表视图。你应该这样做:
- (void)QueryForTableView {
PFQuery QueryForUserClass * = [ PFUser query ] ;
[ QueryForUserClass findObjectsInBackgroundWithBlock : ^ ( NSArray * objects , NSError * error ) {
// You put a wrong condition, objecs only returned when no error.
if (!error) {
self.UtentiInAttesa = objects ;
NSLog ( @ " start query : % @ " , self.UtentiInAttesa ) ;
// Refresh your tableview here
[ self.FFTableView reloadData ] ;
}
} ] ;
}