Question

Ceci est ma première application iPhone et il est basé sur un tableview haut niveau. Sélections de lignes vont soit à une autre tableview ou à une vue. L'application fonctionne bien sur le simulateur, mais quand porté sur mon iPhone il échoue avec une erreur de EXC_BAD_ACCESS. Cela se produit alors que mon écran de démarrage est affiché. NSLog indique que le programme traite en appDelegate.m:

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

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

Je suis sûr que j'ai le RootViewController et appDelegates mêlé d'une certaine manière mais ne peut pas comprendre exactement ce qui ne va pas. Je joins le code au 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];

}

Était-ce utile?

La solution

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 pointe qui sera chargée lorsque votre application démarre. Le simulateur est insensible à la casse, mais le dispositif est. Vérifiez le cas de la valeur de votre nib principal.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top