2011-05-25 63 views
1

你好 我有didFinishLaunching方法的問題。我真的很困惑什麼是問題,這就是爲什麼我粘貼我的所有代碼。問題是應用程序沒有啓動,它墜毀,並告訴我在控制檯此消息:DidFinish在應用iphone的問題中遇到問題

**[Demo1AppDelegate setMapViewController:]: unrecognized selector sent to instance 0x5649a30 
2011-05-25 14:17:58.724 Demo1[10630:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Demo1AppDelegate setMapViewController:]: unrecognized selector sent to instance 0x5649a30'** 

我使用此代碼 在Demo1appDelegate.h文件

#import <UIKit/UIKit.h> 
#import "MapViewController.h" 

@interface Demo1AppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
    MapViewController *mapViewController; 
} 

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

@end 

而且在 Demo1AppDelegate.m文件

#import "Demo1AppDelegate.h" 
@interface Demo1AppDelegate() 
@property (nonatomic, retain) MapViewController *mapViewController; 
@end 

@implementation Demo1AppDelegate 

@synthesize window; 


#pragma mark - 
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    MapViewController *viewController = [[MapViewController alloc] init]; 
    self.mapViewController = viewController; 

    [viewController release]; 

    [window addSubview:self.mapViewController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 


- (void)dealloc { 
    [mapViewController release]; 

    [window release]; 
    [super dealloc]; 
} 


@end 
+0

這是非常好的問題。第一個定義@interface Demo1AppDelegate()@屬性(非原子,保留)的MapViewController在demo1Appdelegates.h文件和@sys到.m文件,將工作 – Harish 2011-05-25 09:08:23

+0

我已經嘗試這一點,但它無法正常工作。它表現出同樣的按摩控制檯 – Rocky 2011-05-25 09:13:27

回答

4

我覺得

self.mapViewController = viewController; 

的問題。 mapViewController您沒有@synthesize。所以,你無法通過self

訪問或另一種選擇是嘗試這種

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    mapViewController = [[MapViewController alloc] init]; 
    [window addSubview:mapViewController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 
+0

看看這個鏈接https://github.com/elbryan/MapKitDynRoutes我試圖做同樣的看法,但它不能正常工作 – Rocky 2011-05-25 09:32:10

0

添加代表如下...這可能是這個問題: @interface Demo1AppDelegate : NSObject <UIApplicationDelegate>

+0

看在該職位代碼,我已經使用這個 – Rocky 2011-05-25 09:18:24

+0

看看這個鏈接github.com/elbryan/MapKitDynRoutes我試圖做同樣的看法,但它不能正常工作 – Rocky 2011-05-25 09:34:48

1

你需要實現的UIApplication

變化

@interface Demo1AppDelegate : NSObject 

@interface Demo1AppDelegate : NSObject < UIApplicationDelegate> 

這將解決你的問題

+0

看看這個鏈接github.com/elbryan/MapKitDynRoutes我試圖做同樣的看法,但它不能正常工作 – Rocky 2011-05-25 09:34:18

1

的問題是在這條線self.mapViewController = viewController;

您忘記@synthesize mapViewController;

+0

看看這個鏈接github.com/elbryan/MapKitDynRoutes我試圖做同樣的看法,但它不能正常工作 – Rocky 2011-05-25 09:34:39

1

你必須@synthesize mapViewController;在Demo1AppDelegate.m

你也應該在Demo1AppDelegate.m的dealloc方法添加[mapViewController release];(帶的MapViewController是一個實例變量)。

+0

幾乎 - 你不應該的dealloc – Till 2011-05-25 09:16:48

+0

內使用訪問我嘗試這一點,但它是不工作它給我同樣的錯誤 – Rocky 2011-05-25 09:17:41

+0

檢查出這個鏈接github.com/elbryan/MapKitDynRoutes我很想克做同樣的想法,但它不起作用 – Rocky 2011-05-25 09:32:42

1

綜合您的地圖視圖控制器。

+0

看看這個鏈接github.com/elbryan/MapKitDynRoutes我試圖做同樣的看法,但它不工作 – Rocky 2011-05-25 09:32:19

+0

爲什麼?只是綜合。 – SK9 2011-05-25 22:09:21

0

嘗試增加

@class MapViewController 

之前@implementation Demo1AppDelegate在Demo1AppDelegate.h

+0

看看這個鏈接github.com/elbryan/MapKitDynRoutes我正在嘗試做同樣的想法,但它不工作 – Rocky 2011-05-25 09:34:33

0

嘿!當您添加子視圖

[window addSubview:self.mapViewController.view]; [window makeKeyAndVisible]; 

嘗試沒有 「自我」

[window addSubview:mapViewController.view]; [window makeKeyAndVisible]; 

只是飛行的猜測。

+0

對不起...剛纔看到上面的答案...我寫了這個答案,但忘了發佈它,所以只是沒有' t發現上面的Q. – 2011-05-25 10:07:32