2013-10-25 78 views
0

在我的視圖控制器中,我只是添加了一個TableView。 我在file.h中都輸入了file.m中的所有代表。 即使在故事板中,單元格的標識也已正確輸入,並且自定義單元格已連接到我創建的單元格自定義類。表視圖不顯示來自Parse.com的數據

現在我把這段代碼(使用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 

回答

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 ] ; 
    } 
} ] ; 

} 
+0

你好:D ..我沒有使用PfQueryTableViewController,而是一個簡單的UIViewController。 查詢我正在做 - (PFQuery *),但與 - (無效),當我插入你建議我的代碼返回錯誤 無效方法不返回值 除此之外,在該查詢中,我也將調用MatchesQuery,這就是爲什麼我離開它...現在我不知道我在這一點上做錯了什麼...:( – kAiN

+0

哦,我的壞,我發現你的錯誤,你應該重新加載你的表,當你的查詢完成。因爲你在後臺查詢結果,因此tableview在數據源更新之前重新加載,查看我的代碼 – babygau

+0

如果我告訴你,即使有這種改變,TableView仍然是白色的,你相信我嗎?是一種難以置信的情況!從來沒有發生過......我連接了一切,好像表視圖不能識別單元格來插入數據,但正如我所說的那樣即使在故事板中,單元格的自定義類也可以正確插入的標識符......我無法理解......有趣的是,我還嘗試刪除文件和視圖控制器,並重新執行,但我做了沒有得到任何結果,情況仍然是一樣的... – kAiN

相關問題