2013-02-19 72 views
-1

雖然使用DetailViewController值不是從UITabelViewController傳遞,是否有任何錯誤的代碼?detailview控制器值沒有顯示

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

detailedvu *dvController = [[detailedvu alloc] initWithNibName:@"detailedvu" bundle:[NSBundle mainBundle]]; 
if (0 == indexPath.row) 
{ 
    NSLog(@"0"); 
    dvController.lb1.text = @"Make"; 
} 
[self.navigationController pushViewController:dvController animated:YES]; 
} 

請幫我整理一下。

+0

您的代碼對發生的事情不是非常具有描述性。 順便說一句,你應該用大寫命名的類:) – RubenVot 2013-02-19 14:14:52

+0

post dvController.h – 2013-02-19 14:15:35

回答

2

dvcontroller被實例化correctly.The這裏的問題是,lbl是從筆尖的標籤(我認爲)。所以,當推到創建一個新的實例,這樣的設置在這裏沒有任何意義的視圖 - 控制。

通過它在數據所有者如的NSString和加載在detailedvu

一個建議的viewdidLoad標籤:請儘量遵循的命名約定更好的可讀性

編碼快樂:)

2

您可以使用此功能來實現此功能。

創建detailedvu.h文件中的字符串變量屬性:

@property (strong, nonatomic) NSString * str; 

而且在detailedvu.m文件補充一點:

@synthesize str; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    if (str.length!=0) { 
     NSLog(@"hi%@",str); 
     lb1.text=str; 
    } 
} 

而且在把這個代碼的表VC .m文件:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

detailedvu *dvController = [[detailedvu alloc] initWithNibName:@"detailedvu" bundle:[NSBundle mainBundle]]; 
if (0 == indexPath.row) 
{ 
    NSLog(@"0"); 
    dvController.str = @"Make"; 
} 
[self.navigationController pushViewController:dvController animated:YES]; 
}