2013-03-25 4 views
0

У меня возникли проблемы с элементом кнопки на панели, на мой взгляд, был метод загрузки. У меня есть подвид Thats добавляется к надтаблицам и когда я нажимаю barbuttonitem он выходит из строя приложения и я получаю эту ошибкуBarButtonItem crashing ios app

*** -[DetailViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x27677fa0 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    navBar.tintColor = [UIColor blackColor]; 
    UIColor *topGreen = [UIColor colorWithRed:246/255.f green:241/255.f blue:206/255.f alpha:1]; 
    UIColor *bottomGreen = [UIColor colorWithRed:242/255.f green:237/255.f blue:204/255.f alpha:1]; 
    CAGradientLayer *gradient = [CAGradientLayer layer]; 
    gradient.frame = self.view.bounds; 
    gradient.colors = [NSArray arrayWithObjects:(id)topGreen.CGColor, (id)bottomGreen.CGColor, nil]; 
    [self.view.layer insertSublayer:gradient atIndex:0]; 
    backButton = [[UIBarButtonItem alloc] initWithTitle:@"Map" style:UIBarButtonSystemItemAction target:self action:@selector(returnToMap:)]; 
    UINavigationItem *navButton = [[UINavigationItem alloc]init]; 
    navButton.leftBarButtonItem = backButton; 
    [navBar pushNavigationItem:navButton animated:YES]; 
    navBar.topItem.title = title; 
    NSLog(@"Reached"); 
    //[self returnToMap]; 
    //Do any additional setup after loading the view from its nib. 
} 

я не уверен, как это исправить. Я попытался добавить барбтон в качестве свойства и синхронизировать его, но ничего не работает. любая помощь будет замечательной

ответ

0

Проблема не в UIBarButtonItem, а в DetailViewController экземпляре - вы выпускаете ее слишком рано или не сохраняете ссылку.

+0

ARC должен позаботиться о том, не так ли? – user1179321

+0

Фактически, ARC может вызвать проблему. Он может потеряться в вашем коде и предположить, что 'DetailViewController' больше не нужен. Не могли бы вы добавить в свой вопрос реализацию метода returnToMap: '(приложение метода сбой после нажатия кнопки)? –