0

これは私の最初のiPhoneアプリケーションであり、トップレベルのテーブルビューに基づいています。行の選択は、別のテーブルビューまたはビューに移動します。アプリケーションはシミュレーターで正常に実行されますが、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;

@終わり

appDelegate.mコード....。

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

// Override point for customization after app launch    

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

}

4

1 に答える 1

0

考えてみれば、メインのInfo.plistファイルに。のエントリがあるはずですMain nib file base name。これは、アプリの起動時に読み込まれるペン先を指します。シミュレータでは大文字と小文字は区別されませんが、デバイスでは大文字と小文字が区別されます。メインペン先の値のケースを確認してください。

于 2009-12-12T11:33:47.130 に答える