2010-06-13 6 views
0

나는이 내 AppDelegate.h 파일에 다음 코드를앱 충돌로드 뷰 컨트롤러

@class mainViewController; 
@class AboutViewController; 
@interface iSearchAppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
    mainViewController *viewController; 
AboutViewController *aboutController; 
UINavigationController *nav; 

} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet mainViewController *viewController; 
@property (nonatomic, retain) IBOutlet AboutViewController *aboutController; 
@property (nonatomic, retain) IBOutlet UINavigationController *nav; 
[...IBActions declared here...] 
@end 

그런 다음, 내하는 .m 파일 :

어떻게 든
@implementation iSearchAppDelegate 

@synthesize window; 
@synthesize viewController, aboutController, settingsData, nav, engines; 


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

    [window addSubview:nav.view]; 
    [window addSubview:aboutController.view]; 
    [window addSubview:viewController.view]; 

    [window makeKeyAndVisible]; 

} 

-(IBAction)switchToHome{ 
    [window bringSubviewToFront:viewController.view]; 
} 
-(IBAction)switchToSettings{ 
    [window bringSubviewToFront:nav.view]; 
} 
-(IBAction)switchToAbout{ 
    [window bringSubviewToFront:aboutController.view]; 
} 


- (void)dealloc { 
    [viewController release]; 
    [aboutController release]; 
    [nav release]; 
    [window release]; 
    [super dealloc]; 
} 

@end 

, 내가 응용 프로그램을 실행할 때, 기본보기 자체를 잘 제시하지만 ... 내가보기를 전환하는 작업을 실행하려고하면 응용 프로그램이 EXC_BAD_ACCESS와 충돌합니다.

그래서 메모리 관리와 관련이 있다고 생각합니다. 그러나 나는 확실하지 않습니다.

사전에 도움을 주셔서 감사합니다. 코드의 스크린 샷에

링크는 여기에 있습니다 : link ...

해결 : 내가 정기적 방법으로 그들을을 IBActions을 복용함으로써 문제를 해결 ... 분명히, 엑스 코드는하지 않습니다 AppDelegate에 IBActions를 넣을 때와 같습니다.

답변

0

... 할당이 해제 된 인스턴스에 보낸 메시지는 ...

은 메모리 관리의 경우, 내 첫 번째 단계는 enable NSZombie로하고 dealloc'ed 후 메세지되고 있던 것을 발견 할 것입니다. 내가 생각할 수있는 두 가지 명백한 것들 :

  1. 초기화되지 않은 속성/변수.

인터페이스 빌더에서 컨트롤이 IBAction들에 연결되어 있어야 (비 유지) 부동산 드 할당?

+0

감사합니다. 문제가있는 것 같습니다. 분명히 응용 프로그램이 중단되는 IBActions 였기 때문에 App Delegate와 IBActions를 가질 수 없습니다. – element119

0

코드에서 어딘가에 [iSearchAppDelegate performSelector:withObject:withObject:]을 호출하고 있습니다. 이 코드는 여기에 표시하지 않았지만 문제가있는 곳이면 그럴 가능성이 있습니다.

+0

다른 메서드에서 해당 메서드를 호출 할 수 있습니까? "performSelector"메서드를 입력하지 않았기 때문에 ... – element119