I am working on the iTahDoodle app in Chapter 31. The app doesn’t give an build errors and loads up fine. I can enter a task but when I press the “insert” button, the app stops and gives me the error “Thread 1: signal SIGABRT” in my main.m file.
This did NOT occur when I first ran the app when the tasks would only display in the log. It started after I entered the code to display the tasks in the table.
I can assure you that I’ve gone through the code line by line very closely.
I have exactly the same fail point, I have double checked code but can’t find any error. Very frustrating. Up until wiring up the table view everything worked great.
Solved the problem finally found the typo, hard to spot as no warnings given
BNRAppDelegate.m for part of code where Tell table class to instantiate i.e.
//Tell the table view which class to instantiate whenever it needs to create a new cell
[self.taskTable registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
I had inaccurately put @“cell”
so later on when in Table view management section, when the UITableViewCell method called e.g.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//to improve performance, this methos first checks
//for an existing cell object that we can reuse
//if there isn't one then a new cell created
UITableViewCell *c = [self.taskTable dequeueReusableCellWithIdentifier:@"Cell"];
the @“Cell” was not matching the incorrect @“cell” above and the program fell over.
Nearly took as long to find the error as to do all the coding…got to love debugging!!