2010-01-25 67 views
0

我遇到了IBoutlet UITableView連接問題。看起來IBOutlet沒有連接到TaleView。 我將delgate和數據源設置爲文件所有者,並將iboutlet設置爲nib中的tableview。 tableview被很好的初始化了。我只是想做一些reloadData,它不工作。我嘗試做一些deselectRow只是爲了查看它是不是reloadData問題,但它不取消選擇,所以我假設iboutlet不與我的tableview相關聯。這個表視圖位於一個稱爲modalViewController的視圖控制器中。IBoutlet UITableView連接問題

下面是一些代碼: 我.h文件中:

@interface AddEditProjectsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate, UIAlertViewDelegate>{ 

IBOutlet UITableView *addEditProjectTable; 
} 

@屬性(非原子,保留)IBOutlet中的UITableView * addEditProjectTable;

@end

我.m文件:

- (void)viewWillAppear:(BOOL)animated { 

(...) 

[addEditProjectTable reloadData]; 

[super viewWillAppear:animated]; 

感謝您的幫助! :)

回答

0

您是否實際實現了數據源和委託方法,如cellForRowAtIndexPath?

+0

是的我實現了數據源和委託方法。我想要重新加載數據來改變頁眉和頁腳標題。 – ideafactory 2010-01-25 17:32:23

0

不知道這是否是引起您的問題,但

[super viewWillAppear:animated]; 

應該在自己的代碼之前調用。

+0

我試過,但它不起作用:( 謝謝! – ideafactory 2010-01-25 17:33:47

0

你說:「看起來IBOutlet沒有連接到TaleView。」然後你說,「並將iboutlet設置在筆尖的tableview中。」在「將iboutlet設置到筆尖中的tableview」後,它是否仍未連接?您可以通過查看IB中Inspector中的'連接'選項卡來驗證這一點,同時選擇表格視圖。您應該看到所有連接(數據源,委託和出口)。如果它沒有連接,它不會讓你連接桌面視圖到你的插座,請嘗試重新啓動IB和Xcode。

如果連接存在,那麼您還有其他問題。在這種情況下,請嘗試從「基於導航的應用程序」模板創建一個新項目,並查看它是否按預期工作。然後比較你的代碼和問題應該出現。

最好的問候,

+0

我期待在IB的連接,它的所有連接,代表,數據源和我的插座。 我的項目是基於導航的應用程序,但我設置此viewcontroller as modalview因爲我不想把它設置爲導航控制器 謝謝 – ideafactory 2010-01-25 18:30:58

+0

我只是建議你看看模板,以確保你設置它一樣。你如何設置「這個viewcontroller作爲modalview「?你打電話給presentModalViewController:animated:?你能顯示你的模態視圖表示代碼嗎?你有沒有在viewDidLoad中設置一個斷點來確保它被調用? – 2010-01-25 18:44:01

0

我打電話modalview這樣:

if (self.addEditTasksController == nil) { 
     AddEditTasksViewController *addEditTaskCont = [[AddEditTasksViewController alloc] initWithNibName:@"AddEditTasksViewController" bundle:nil]; 
     self.addEditTasksController = addEditTaskCont; 
     [addEditTaskCont release]; 
    } 
    [self presentModalViewController:addEditTasksController animated:YES]; 

的viewDidLoad中被稱爲每次爲viewWillAppear中。

謝謝。