tableview应用程序中的EXC_BAD_ACCESS

时间:2009-12-12 11:29:24

标签: iphone root tableview exc-bad-access

这是我的第一个iPhone应用程序,它基于顶级的tableview。行的选择要么转到另一个tableview,要么转到视图。应用程序在模拟器上运行正常,但是当移植到我的iPhone时,它会因EXC_BAD_ACCESS错误而失败。在我的启动画面显示时会发生这种情况。 NSLog表示程序在appDelegate.m中处理:

[window addSubview:[navigationController view]];
[window makeKeyAndVisible];

然后它就失败了。代码似乎永远不会到达我的RootViewController中的viewDidLoad。

我确信我已经将RootViewController和appDelegates混淆了但却无法弄清楚到底出了什么问题。我已经附加了我的RootViewController的开始代码,appDelegate - 任何帮助赞赏。

RootViewController.h代码....

@interface RootViewController : UITableViewController {
TyresViewController *tyresController;
EngineSpecViewController *engineSpecController;
CarbonTaxBandViewController *carbonTaxBandController;
TyreSpecificationsViewController *tyreSpecificationsController;
FuelConsumptionandEmissionsViewController *fuelConsumptionandEmissionsController;
CompanyCarTaxBandViewController *companyCarTaxBandController;
CarbonCalculatorViewController *carbonCalculatorController;
ReminderViewController *reminderController;

//NSString *selectedSpecification;  
NSArray *listOfItems;

}

RootViewController.m代码......

#import "RootViewController.h"

@implementation RootViewController

@synthesize listOfItems;
//@synthesize selectedSpecification;
@synthesize carbonTaxBandController;
@synthesize engineSpecController;
@synthesize tyreSpecificationsController;
@synthesize tyresController;
@synthesize fuelConsumptionandEmissionsController;
@synthesize companyCarTaxBandController;
@synthesize carbonCalculatorController;
@synthesize reminderController;

appDelegate.h代码.....

@interface MyCar3AppDelegate : NSObject <UIApplicationDelegate> {

UIWindow *window;
UINavigationController *navigationController;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

@end

appDelegate.m代码.....

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

// Override point for customization after app launch    

[window addSubview:[navigationController view]];
[window makeKeyAndVisible];

}

1 个答案:

答案 0 :(得分:0)

只是想一想,在您的主Info.plist文件中应该有Main nib file base name的条目。这是指应用程序启动时将加载的笔尖。模拟器不区分大小写,但设备是。检查主笔尖值的大小写。