dimanche 28 juin 2015

is it able to override NSObject init method to add every object into a single NSMutableArray?

I have a singleton object obj1, having a NSMutableArray member called Objects

and i added a category called NSObject (Register)

@implementation NSObject (Register)
-(id)init
{
    [[obj1 defaultObject] addObjectToView:self];
    return self;
}
@end

the addObjectToView method just simply add the object to the array

-(void)addObjectToView:(id)object
{
    [object retain];
    [Objects addObject:object];
}

(Object is a NSMutableArray)

the problem is, when i tried to test it, i did

NSWindow *window = [[NSWindow alloc] init];

and then i got 505 scary objects in the array,

(sorry, unable to post image) http://ift.tt/1QWWq6G

did i do anything wrong?

BTW, it is possible to manage the relationship of all objects and send isolate objects dealloc message to implement a garbage collector in Objective-C ?

Aucun commentaire:

Enregistrer un commentaire