I'm writing an experimental iPhone app to learn about the MVC paradigm. I instantiate my Model class in the ViewController class. Is this stupid?I'm asking because storing the id of the Model class, and using it works where it's initialized, but referring to it later (in response to an interface action) crashes. Seemingly, the pointer address of my Model class instance changes, but how can that be?The code in question:@interface Soundcheck_Tone_GeneratorViewController : UIViewController {    IBOutlet UIPickerView * frequencyWheel;@public    Sinewave_Generation * sineGenerator;}@property(nonatomic,retain) Sinewave_Generation * sineGenerator;@end@implementation Soundcheck_Tone_GeneratorViewController@synthesize sineGenerator;- (void)viewDidLoad {    [super viewDidLoad];    [self setSineGenerator:[[Sinewave_Generation alloc] initWithFrequency:20.0]]; // using reference -> fine}// pickerView handling is omitted here...- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {     [[self sineGenerator] setFrequency:20.0]; // using reference -> crash}@end// the Sinewave_Generation class... only to be thorough. Works fine so far.@interface Sinewave_Generation : NSObject {        AudioComponentInstance toneUnit;    @public        double frequency,theta;}@property double frequency;- (Sinewave_Generation *) initWithFrequency: (int) f;@end@implementation Sinewave_Generation@synthesize frequency;- (Sinewave_Generation *) initWithFrequency: (int) f {    self = [super init];    if ( self ) {        [self setFrequency: f];    }    return self;}@end
Observing MVC, can/should the Model be instantiated in the ViewController? Or where?
iphone;mvc;objective c