• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Regarding MVC design pattern
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Regarding MVC design pattern


  • Subject: Re: Regarding MVC design pattern
  • From: Sai <email@hidden>
  • Date: Wed, 19 May 2010 16:48:17 +0800

Hi all,

I have gone through the Memory Management Programming Guide document last
night, and modify my codes a little bit.
Even the program runs well without crashing, but I still have some questions
remained. I will attach some of my codes as
follow:

1. I have both Controller Object and MyModel Object defined in my interface
builder. I also make a connection between them.
- some codes of Controller interface file:
@interface Controller : NSObject {
    IBOutlet UIButton *beginButton;
    IBOutlet UIButton *endButton;
    IBOutlet UILabel *nameLabel;
    IBOutlet UILabel *numberLabel;
    MyModel *myModel;
}

@property (nonatomic, retain) IBOutlet MyModel *myModel;

/* some methods defined here as well */
@end

- some codes of Controller implementation file:
#import "Controller.h"

@implementation Controller

@synthesize myModel;

- (void) awakeFromNib {
    /*initialize some UI here */

    NSLog(@"myModel retain count: %d", [myModel retainCount]);
    NSLog(@"controller retain count: %d", [self retainCount]);
}

/* some IBAction method defined here */

- (void) dealloc {
    NSLog(@"Controller dealloc method invoked!");   // dealloc checkpoint 1
    [myModel release];
    myModel = nil;
    [super dealloc];
}


2. I have implemented the Model object as follow:
- some codes of MyModel interface file:
@interface MyModel : NSObject {
    int number;
    NSDictionary * modelNames;
}

@property int number;

- (id) initWithNumber:(int)numValue;
- (void) initModelNames;

/* some other methods defined here */
@end

- some codes of MyModel implementation file:
@implementation MyModel

@synthesize number;

- (id) init {
    return [self initWithNumber:5];
}

- (id) initWithNumber(int)numValue {
    if (self = [super init]) {
        self.number = numValue;
        [self initModelNames];
    }
    return [self autorelease];
}

- (void) initModelNames {
    /* setup two NSArray: strNames, strKeys */
    modelNames = [[NSDictionary dictionaryWithObjects:strNames
forKeys:strKeys] retain];
}

- (void) dealloc {
    [modelNames release];
    modelNames = nil;
    [super dealloc];
    NSLog(@"MyModel dealloc method invoked!"); //dealloc checkpoint 2
}

I have two questions:
1. Look at the awakeFromNib method of Controller, my output of the retain
count to the console are
myModel retain count: 5
controller retain count: 17
both number are very surprised me, why is that? I suppose they should be 2
or 1?
Can anyone explain please?

2. No matter wether I quit the program from my iPhone simulator or I quit
the simulaor, none of the
dealloc method is invoked because there is no any NSLog output from the
deallocmethod to the console.
Why? I know this probably can be solved if I have the retain count as I
expected.

best regards
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Regarding MVC design pattern
      • From: mmalc Crawford <email@hidden>
    • Re: Regarding MVC design pattern
      • From: Jack Nutting <email@hidden>
References: 
 >Regarding MVC design pattern (From: Sai <email@hidden>)
 >Re: Regarding MVC design pattern (From: Henry McGilton <email@hidden>)
 >Re: Regarding MVC design pattern (From: Sai <email@hidden>)
 >Re: Regarding MVC design pattern (From: Jack Nutting <email@hidden>)
 >Re: Regarding MVC design pattern (From: Sai <email@hidden>)
 >Re: Regarding MVC design pattern (From: Kyle Sluder <email@hidden>)

  • Prev by Date: Original iPhone animation performance
  • Next by Date: Re: singleton design pattern
  • Previous by thread: Re: Regarding MVC design pattern
  • Next by thread: Re: Regarding MVC design pattern
  • Index(es):
    • Date
    • Thread