2010-02-25 66 views
0

我想每次點擊的人從上表視圖書名釋放標籤文本,它應改變detailViewController標籤(titleLabel),但是它不斷出現同樣的書名。iPhone發佈標籤文本

想知道如果我做錯了 - 我很清楚我有,但不知道如何解決它...

// 
// BookDetailViewController.m 

#import "BookDetailViewController.h" 
#import "Book.h" 

@implementation BookDetailViewController 

@synthesize aBook, titleLabel; 

// Implement viewDidLoad to do additional setup after loading the view. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self bookDes]; 
    self.title = @"Book Detail"; 
} 

-(void)bookDes { 
    [self.titleLabel setText:nil]; 

    [self.titleLabel setText:aBook.title]; 
} 

- (void)dealloc { 
    [aBook release]; 
    [titleLabel release]; 
    [super dealloc]; 
} 
@end 
+0

你能後創建該控制器的代碼 - 我認爲你以前設置過ABOOK是你想要的書,你可能會調用裏面viewDidLoad中bookDes? – deanWombourne 2010-02-25 15:21:13

+0

你什麼時候設置你的aBook對象? – 2010-02-25 15:32:23

+0

的代碼是從http://www.iphonesdkarticles.com/2008/11/parsing-xml-files.html 但是我剛剛改變的DetailView,因爲我不想表現出來的TableView中 – RussellHarrower 2010-02-25 15:56:39

回答

0

要調用從viewDidLoad中[自bookDes] ...這種方法被稱爲後視圖控制器已經將其關聯視圖加載到內存中。你如何創建BookDetailViewController?如果你只在用戶每次按下書名時間創建它一次,然後再用控制器,viewDidLoad方法也只能被調用一次。

如果你已經在你的父控制器書名,你爲什麼不只是設置在那裏的屬性,當你推到孩子導航控制器?

bookDetailsController.titleLabel.text = selectedBook.title; 

編輯來自備註:

是的,BookDetailsViewController創建一次,然後保存......所以viewDidLoad中只調用一次。

有一兩件事你可以嘗試是設置標籤在父母的didSelectRowAtIndexPath方法方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Navigation logic -- create and push a new view controller 

    if(bdvController == nil) 
     bdvController = [[BookDetailViewController alloc] initWithNibName:@"BookDetailView" bundle:[NSBundle mainBundle]]; 

    Book *aBook = [appDelegate.books objectAtIndex:indexPath.row]; 

    bdvController.aBook = aBook; 
    bdvController.titleLabel.text = aBook.title; 


    [self.navigationController pushViewController:bdvController animated:YES]; 
} 

有更好的方法來做到這一點像重寫細節控制器上的setter和設置標籤...但你應該保持簡單並讓它首先工作。

希望這有助於

+0

我使用來自www.iPhoneSDKArticles.com的示例代碼。所謂BookDetailViewController 但是我的問題是,我不希望顯示錶視圖本本的用戶點擊標題了解更多信息之後。 我看着通過代碼來找到你上面說的什麼,但不能找到它。 - http://www.iphonesdkarticles.com/2008/11/parsing-xml-files.html – RussellHarrower 2010-02-25 15:52:49

+0

所有我能說的是你的王! 它的工作 – RussellHarrower 2010-02-26 07:05:10