0

I am implementing the searchdisplay controller on the iPhone App, but will hit the following error when I try to click on the search bar (after a few tries)

Thread 1: EXC_BAD_ACCESS (code=1, address=0x30000008)

enter image description here

Snippet of my code as follows:

- (void)viewDidLoad
{

  //Setting up the search bar for search display controller
  UISearchBar *tempBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 34, 320, 44)];
  self.sBar = tempBar;
  [tempBar release];
  self.sBar.delegate = self;
  self.sBar.tintColor = [UIColor colorWithHexString:@"#b6c0c7"];
  self.sBar.placeholder = @"Search DM friends";

  self.searchDisplayController = [[[UISearchDisplayController alloc] initWithSearchBar:sBar contentsController:self]autorelease];
  [self setSearchDisplayController:searchDisplayController];
  [searchDisplayController setDelegate:self];
  [searchDisplayController setSearchResultsDataSource:self];
  self.searchDisplayController.searchResultsTableView.delegate = self;
}


- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 78)]autorelease];
    headerView.backgroundColor = [UIColor colorWithHexString:@"#ebe7e6"];

    if (tableView != self.searchDisplayController.searchResultsTableView){
        //Search

        UILabel *tagFriendsTitle = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 320, 16)];
        tagFriendsTitle.font = [UIFont boldSystemFontOfSize:14];
        tagFriendsTitle.backgroundColor = [UIColor clearColor];
        tagFriendsTitle.text = @"Who should see this? Tag them!";

        [headerView addSubview:tagFriendsTitle];

        //THIS IS WHERE I GET MY EXC_BAD_ACCESS error
        [headerView addSubview:self.sBar];

        [tagFriendsTitle release];

    }
    return headerView;

}

I am not sure which part of my code is causing the error, but it seems that the sBar deallocated from memory when I try to add it to header subview? But I am not sure why I needed to click on the search bar multiple times before that happens.

This is how it looks on the iPhone, the searchbar forms part of the headerview

enter image description here

Saad
  • 8,857
  • 2
  • 41
  • 51
Zhen
  • 12,361
  • 38
  • 122
  • 199

2 Answers2

3

go to product>edit schems> enable nszombie objects and see what's the prblem there

Saad
  • 8,857
  • 2
  • 41
  • 51
1

If this is an assign property, you should probably change it to a retain property. And don't forget to set the property to nil in dealloc and viewDidUnload.

Felix Lamouroux
  • 7,414
  • 29
  • 46