2012-02-22 56 views
1

我是ARC新手,我一直在玩它不到一個星期。我想要做的是非常基本的。我有一個視圖控制器,顯示一個按鈕。當我點擊按鈕時,需要調用相應的選擇器。但是,使用ARC時,應用程序會崩潰並顯示EXC_BAD_ACCESS消息。下面是我的MainViewControllerARC過早釋放ViewController

- (void)loadView 
{ 
    [super loadView]; 
    UIButton *testButton=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [testButton setFrame:CGRectMake(80,50,160,50)]; 
    [testButton setTitle:@"Click Me" forState:UIControlStateNormal]; 
    [testButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 

    [self.view addSubview:testButton]; 
} 

-(void)buttonClicked:(id)sender 
{ 
    NSLog(@"Button Clicked"); 
} 

我啓用了殭屍的對象,是能夠找到的調試日誌

2012-02-21 22:46:00.911 test[2601:f803] *** -[MainViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x6b4bba0 

綜觀上述消息以下消息的代碼,它在我看來,ARC是過早釋放我的MainViewController。 我不知道我在做什麼錯在這裏。請讓我知道如果我失去了一些東西。

在此先感謝

+3

沒有代碼如何初始化VC,這是不可能的。我想你只是沒有很強的參考。 – 2012-02-22 06:56:21

回答

10

請使用關鍵

@property (strong, nonatomic) MainViewController *mvc; 
+0

@ user1225102:這很可能是最真實的答案。如果沒有,那麼我們需要看到更多的代碼。 – 2012-02-22 08:26:23

+0

謝謝你的朋友。這工作! – cybervedaa 2012-02-23 05:31:34

+0

這也解決了我的問題,但是什麼原因導致這個問題!!!! – 2014-04-10 12:13:10