FROM : Bill Bumgarner
DATE : Tue Feb 19 20:46:39 2008
On Feb 19, 2008, at 11:24 AM, Hamish Allan wrote:
> On Feb 19, 2008 6:00 PM, Daniel Child <<email_removed>> wrote:
>> - (id) init
>> {
>> data = [[NSMutableDictionary alloc] init];
>> return self = [super initWithWindowNibName: @"Step1Window"];
>> }
> Always call [super init...] at the start of your init method.
> Otherwise, your superclass could be overwriting the ivar called "data"
> with, e.g., an immutable NSDictionary.
Hamish is correct in that this should be structured something like:
- init
{
if (self = [super initWithWindowNibName: @"Step1Window"]) {
data = [[NSMutableDictionary alloc] init];
}
return self;
}
Given that you declared the instance variable in the class w/the init,
super better not be replacing your ivar!
So, how could data become a non-mutable object?
(1) Unarchival generally produces immutable objects unless you
explicitly ask for mutable objects.
(2) You released data and replaced it with a reference to an immutable
object
(3) You have a memory munching bug
b.bum
DATE : Tue Feb 19 20:46:39 2008
On Feb 19, 2008, at 11:24 AM, Hamish Allan wrote:
> On Feb 19, 2008 6:00 PM, Daniel Child <<email_removed>> wrote:
>> - (id) init
>> {
>> data = [[NSMutableDictionary alloc] init];
>> return self = [super initWithWindowNibName: @"Step1Window"];
>> }
> Always call [super init...] at the start of your init method.
> Otherwise, your superclass could be overwriting the ivar called "data"
> with, e.g., an immutable NSDictionary.
Hamish is correct in that this should be structured something like:
- init
{
if (self = [super initWithWindowNibName: @"Step1Window"]) {
data = [[NSMutableDictionary alloc] init];
}
return self;
}
Given that you declared the instance variable in the class w/the init,
super better not be replacing your ivar!
So, how could data become a non-mutable object?
(1) Unarchival generally produces immutable objects unless you
explicitly ask for mutable objects.
(2) You released data and replaced it with a reference to an immutable
object
(3) You have a memory munching bug
b.bum
| Related mails | Author | Date |
|---|---|---|
| Daniel Child | Feb 19, 19:00 | |
| Hamish Allan | Feb 19, 20:24 | |
| Bill Bumgarner | Feb 19, 20:46 | |
| Keary Suska | Feb 19, 22:14 | |
| Hamish Allan | Feb 19, 23:39 | |
| Jonathan Hess | Feb 20, 04:12 | |
| Daniel Child | Feb 21, 03:29 |






Cocoa mail archive

