EXC_BAD_ACCESS in applicazione Tableview
-
19-09-2019 - |
Domanda
Questa è la mia prima applicazione per iPhone e si basa su un Tableview di livello superiore. Selezione di righe o passare ad un'altra Tableview oa una vista. L'applicazione viene eseguita OK sul simulatore, ma quando portato sul mio iPhone non riesce con un errore EXC_BAD_ACCESS. Questo accade mentre è visualizzata la mia schermata iniziale. NSLog indica che il programma elabora in appDelegate.m:
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
, ma poi appena viene a mancare. Il codice non sembra mai raggiungere la viewDidLoad nel mio RootViewController.
Sono sicuro che ho la RootViewController e appDelegates mescolato in qualche modo, ma non riesco a capire esattamente che cosa c'è che non va. Ho allegato il codice all'inizio del mio RootViewController, AppDelegate -. Qualsiasi aiuto apprezzato
Codice 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;
}
Codice 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;
Codice appDelegate.h .....
@interface MyCar3AppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@end
Codice appDelegate.m .....
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
Soluzione
Solo un pensiero, nel file Info.plist principale ci dovrebbe essere una voce per Main nib file base name
. Questo si riferisce al pennino che verrà caricata quando la vostra applicazione si avvia. Il simulatore non è case sensitive, ma il dispositivo è. Controllare il caso del valore della vostra pennino principale.