you can’t use self in block methods, use weakself reference to do so

__unsafe_unretained typeof(self) weakSelf = self; [self.viewController setButton2Block:^(UIButton *button){ ViewController *obj_ViewController = [[ViewController alloc] initWithNibName:(IS_IPHONE_5)?@”ViewController_iPhone5″:@”ViewController” bundle:nil]; weakSelf.navigationController = [[UINavigationController alloc] initWithRootViewController:obj_ViewController];…