[self.teamData valueForKey:@"considered"]
This returns what is likely to be an NSNumber
instance, but setSelectedSegmentIndex:
expects an NSInteger so you should be using:
[self.considered setSelectedSegmentIndex:[[self.teamData valueForKey:@"considered"] integerValue]];
You also need to change the corresponding save code to:
[self.teamData setValue:[NSNumber numberWithInteger:self.considered.selectedSegmentIndex] forKey:@"considered"];
This bit of code is not helping:
if ([delegate performSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
change to:
if ([delegate respondsToSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
At some point in some other controller you should be setting ...teamData = ...
. If you aren't, then your controller will always be creating a new Teams
managed object and inserting it into the data store. In this case, you don't set the self.considered.selectedSegmentIndex
so you will never store it. It's only ever stored when you already have a Teams
object.