在我的程序中,我必須聲明和使用多個子項UIViewController
,就像我的主UIViewController
中的自定義控件一樣。但是當我點擊一個孩子UIView控制器的按鈕時,我得到一個EXC_BAD_ACCESS
錯誤。請參閱以下我的示例代碼結構。在主UiViewController中動態聲明子UiViewController
例1:
//--Child-------------------------------------------------------------------
@interface subUIViewController<UIViewController>
-(IBAction)myButtonClick:(id)Sender;
[email protected] subUiViewController
-(IBAction)myButtonClick:(id)Sender
{
NSLog(@"Button Click Event.....");
}
//---Main--------------------------------------------------------------------
@interface mainUIViewController<UIViewController>
@implementation mainUIViewController
-(void)viewDidLoad
{
[super viewDidLoad];
subUiViewController *subViewController=[[subUiViewController alloc] initWithNibNameAndArtist:@"subUiViewController" bundle:nil];
[self.view addSubView: subViewController.view];
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
但是,如果我在MainViewController
與@property (retain,nonatomic) subUiViewController *subViewController
宣佈,它正在沒有錯誤。請參閱下面的代碼。
例2:
//---Child------------------------------------------------------------------
@interface subUIViewController<UIViewController>
-(IBAction)myButtonClick:(id)Sender;
@implementation subUiViewController
-(IBAction)myButtonClick:(id)Sender
{
NSLog(@"Button Click Event.....");
}
//----Main-----------------------------------------------------------------
@interface mainUIViewController<UIViewController>
@property(retain,nonatomic) subUiViewController *subViewController;
@implementation mainUIViewController
@synthesize subViewController;
-(void)viewDidLoad
{
[super viewDidLoad];
subViewController=[[subUiViewController alloc] initWithNibNameAndArtist:@"subUiViewController" bundle:nil];
[self.view addSubView: subViewController.view];
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
我不知道爲什麼例1不工作和例2是工作。對我而言,我需要使用示例1,因爲我需要以編程方式創建基於Core Data Return的子UI視圖控制器。你能幫我指出什麼是錯的嗎?我如何動態聲明子代ui視圖控制器的代碼?
謝謝你,但它仍然給我同樣的錯誤。我的應用程序使用ARC。 – 2011-12-16 10:55:16