[英]IBAction crashes TabBarController App
我有一個基於Window的TabBarController應用,並且試圖從其中一個選項卡(FirstViewController)中呈現ModalView。 該應用程序構建良好,並且選項卡可以正常工作,但是在單擊“打開模態視圖”按鈕后,它崩潰了,並給了我:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController openModalView]: unrecognized selector sent to instance 0x5d1e930'
更新 :我發現問題不在於呈現模式視圖,而是任何IBAction調用都會發生崩潰。 是什么原因造成的?
FirstViewController.h:
#import <UIKit/UIKit.h>
#import "ModalViewController.h"
@interface FirstViewController : UIViewController <ModalViewDelegate> {}
@end
FirstViewController.m:
#import "FirstViewController.h"
@implementation FirstViewController
- (IBAction) openModalView {
ModalViewController *modalView=[[ModalViewController alloc] init];
modalView.modalDelegate=self;
[self presentModalViewController:modalView animated:YES];
[modalView release];
}
#pragma mark -
#pragma mark ModalViewDelegate
- (void) didHitCancel {
[self dismissModalViewControllerAnimated:YES];
}
#pragma mark -
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
[super viewDidUnload];
}
- (void)dealloc {
[super dealloc];
}
@end
ModalViewController.h:
#import <UIKit/UIKit.h>
@protocol ModalViewDelegate <NSObject>
- (void)didHitCancel;
@end
@interface ModalViewController : UIViewController {
id modalDelegate;
}
@property (nonatomic, assign) id<ModalViewDelegate> modalDelegate;
- (IBAction) cancel;
@end
ModalViewController.m:
#import "ModalViewController.h"
@implementation ModalViewController
@synthesize modalDelegate;
- (IBAction) cancel {
[self.modalDelegate didHitCancel];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
[super viewDidUnload];
}
- (void)dealloc {
[super dealloc];
}
@end
我知道這是很多代碼,但我想確保有人可以找到問題。
提前致謝!
我想你忘了把openModalView方法在@interface
的FirstViewController
。
@interface FirstViewController : UIViewController <ModalViewDelegate> {
}
- (IBAction) openModalView;
@end
您是否在IB中將自定義視圖控制器上的類設置為ModalViewController? 那是我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.