2009-01-13 53 views
0

我已經使用在下面的示例中列出但我傳遞的變量(rootcategory)仍然是在viewDidLoad中所加載的觀點明顯的方法試圖視圖之間的數據。你如何通過使用一個UINavigationController

這是我的代碼:

CategoryViewController *viewController = [[CategoryViewController alloc] initWithNibName:@"CategoryViewController" bundle:[NSBundle mainBundle]]; 
self.categoryViewController.rootCategory = @"433"; 
self.categoryViewController = viewController; 
[viewController release]; 

我合成屬性在標題如下:

@property (nonatomic, readwrite) NSString *rootCategory; 

回答

3

您正在分配viewController,並嘗試在將其分配給viewController之前更改self.categoryViewController。

CategoryViewController *viewController = [[CategoryViewController alloc] initWithNibName:@"CategoryViewController" bundle:[NSBundle mainBundle]]; 
viewController.rootCategory = @"433"; 
self.categoryViewController = viewController; 
[viewController release]; 

應該工作。

+0

並沒有幫助我害怕沒有任何區別 – 2009-01-13 11:51:46

+0

你會介意告訴我使用自己與不使用自己的區別,我猜它不是這樣。在c#(我的背景) – 2009-01-13 11:53:25

0

什麼是對CategoryViewController你的頭文件是什麼樣子?您是否將rootCategory定義爲屬性?它是合成的還是你編寫了自己的setter和getter?

+0

添加片段問題 – 2009-01-13 11:39:11

0

我相信viewDidLoadinitWithNibName:返回之前在新實例上被調用,因此您將在調用它之後設置屬性。

0

您的代碼是正確的,但在設置屬性(如iKenndac指出的)之前調用viewDidLoad

您應該改用- (void)viewWillAppear:(BOOL)animated方法。如方法名稱所示,在屏幕上顯示視圖之前調用該方法。