2009-12-12 24 views
0

Ceci est ma première application pour iPhone et elle est basée sur une tableview de haut niveau. Les sélections de lignes vont soit vers une autre vue de table, soit vers une vue. L'application s'exécute correctement sur le simulateur mais lorsqu'elle est portée sur mon iPhone, elle échoue avec une erreur EXC_BAD_ACCESS. Cela se produit pendant que mon écran de démarrage est affiché. NSLog indique que le programme traite dans appDelegate.m:EXC_BAD_ACCESS dans l'application tableview

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

mais cela échoue juste. Le code ne semble jamais atteindre viewDidLoad dans mon RootViewController.

Je suis sûr que j'ai le RootViewController et appDelegates mélangés en quelque sorte, mais ne peut pas comprendre exactement ce qui ne va pas. J'ai attaché le code de début de mon RootViewController, appDelegate - toute aide appréciée.

code 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; 

}

code 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; 

code appDelegate.h .....

@interface MyCar3AppDelegate : NSObject <UIApplicationDelegate> { 

UIWindow *window; 
UINavigationController *navigationController; 

}

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

@end

code appDelegate.m .....

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

// Override point for customization after app launch  

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

}

Répondre

0

Juste une pensée, dans votre fichier principal Info.plist il devrait y avoir une entrée pour Main nib file base name. Cela fait référence à la plume qui sera chargée lors du démarrage de votre application. Le simulateur n'est pas sensible à la casse, mais le périphérique l'est. Vérifiez le cas de la valeur de votre plume principale.