If you use the underscore prefix for your ivars (which is nothing more than a common convention, but a useful one), then you need to do 1 extra thing so the auto-generated accessor (for the property) knows which ivar to use. Specifically, in your implementation file, your synthesize
should look like this:
@synthesize missionName = _missionName;
More generically, this is:
@synthesize propertyName = _ivarName;