2009-09-23 32 views
0

我正在創建一個iPhone應用程序,它在開始時顯示一個UITableView,並在單元格中顯示一些文本。當用戶點擊一個單元格時,它應該轉換到另一個視圖。當我運行在iPhone模擬器應用程序,並單擊單元格我得到以下錯誤:NSInvalidArgumentException

2009-09-23 12:20:03.554 ZDFMobiel[751:20b] *** Terminating app due to uncaught exception 
'NSInvalidArgumentException', reason: '*** -[RootViewController eigenRisicoView]:  
unrecognized selector sent to instance 0xd1d1a0' 
2009-09-23 12:20:03.555 ZDFMobiel[751:20b] Stack: (

這裏是哪裏出現了錯誤的功能(在RootViewController.m)。它發生在

if(self.eigenRisicoView == nil) { 

行或在其他if語句,這取決於您單擊哪個單元格。

// Override to support row selection in the table view. 
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

ZDFMobielAppDelegate *appDelegate = (ZDFMobielAppDelegate *)[[UIApplication sharedApplication] delegate]; 
NSString *content = (NSString *)[appDelegate.menuItems objectAtIndex:indexPath.row]; 

switch (indexPath.row) { 
    case 0: 
    if(self.eigenRisicoView == nil) { 
    EigenRisicoViewController *viewController = [[EigenRisicoViewController alloc] initWithNibName:@"EigenRisicoViewController" bundle:[NSBundle mainBundle]]; 
    self.eigenRisicoView = viewController; 
    [viewController release]; 
    } 
    [self.navigationController pushViewController:self.eigenRisicoView animated:YES]; 
    self.eigenRisicoView.title = content; 

    break; 

    case 1: 
    if(self.declaratieStatusView == nil) { 
    DeclaratieStatusViewController *viewController = [[DeclaratieStatusViewController alloc] initWithNibName:@"DeclaratieStatusViewController" bundle:[NSBundle mainBundle]]; 
    self.declaratieStatusView = viewController; 
    [viewController release]; 
    } 
    [self.navigationController pushViewController:self.declaratieStatusView animated:YES]; 
    self.declaratieStatusView.title = content; 

    break; 

    case 2: 
    if(self.vergoedingenView == nil) { 
    VergoedingenViewController *viewController = [[VergoedingenViewController alloc] initWithNibName:@"VergoedingenViewController" bundle:[NSBundle mainBundle]]; 
    self.vergoedingenView = viewController; 
    [viewController release]; 
    } 
    [self.navigationController pushViewController:self.vergoedingenView animated:YES]; 
    self.vergoedingenView.title = content; 

    break; 

    case 3: 
    if(self.zoekenZorgInstView == nil) { 
    ZoekenZorgInstViewController *viewController = [[ZoekenZorgInstViewController alloc] initWithNibName:@"ZoekenZorgInstViewController" bundle:[NSBundle mainBundle]]; 
    self.zoekenZorgInstView = viewController; 
    [viewController release]; 
    } 
    [self.navigationController pushViewController:self.zoekenZorgInstView animated:YES]; 
    self.zoekenZorgInstView.title = content; 

    break; 
    default: 
    break; 
} 


    // Navigation logic may go here -- for example, create and push another view controller. 
// AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil]; 
// [self.navigationController pushViewController:anotherViewController animated:YES]; 
// [anotherViewController release]; 
    } 

這是我RootControllerView.h文件

#import "EigenRisicoViewController.h"; 
#import "DeclaratieStatusViewController.h"; 
#import "VergoedingenViewController.h"; 
#import "ZoekenZorgInstViewController.h"; 
#import "ZDFMobielAppDelegate.h"; 

@interface RootViewController : UITableViewController { 
EigenRisicoViewController *eigenRisicoView; 
DeclaratieStatusViewController *declaratieStatusView; 
VergoedingenViewController *vergoedingenView; 
ZoekenZorgInstViewController *zoekenZorgInstView; 

} 

@property(nonatomic,retain) EigenRisicoViewController *eigenRisicoView; 
@property(nonatomic,retain) DeclaratieStatusViewController *declaratieStatusView; 
@property(nonatomic,retain) VergoedingenViewController *vergoedingenView; 
@property(nonatomic,retain) ZoekenZorgInstViewController *zoekenZorgInstView; 

@end 

我是新iPhone的發展,目標C和XCode的,所以我不明白什麼是錯誤意味着..

有誰知道我做錯了什麼?

回答

1

我需要看到整個實施,但它聽起來像是你沒有@synthesize eigenRisicoView;

+0

這是問題...謝謝:) – Rick 2009-09-23 11:41:31

相關問題