Search code examples
objective-cxcodeios4

Object Not initializing


So I am trying to make a Circle class in Objective-C. I know Java and OOP, and a little bit of Objective-C, but I cannot figure out why my class will not initialize. Here is the Circle.h:

#import <Foundation/Foundation.h>
#import "Image.h"

@interface Circle : NSObject
{
    Image *img;
    CGPoint pos;
}

-(id) init;
-(void) draw;


@end

and here is the Circle.m file:

#import "Circle.h"

@implementation Circle

-(id) init{
    self = [super init];
    if (self != nil) {
        img = [[Image alloc] initWithImage:[UIImage imageNamed:@"circle.png"]];
        pos = CGPointMake((CGFloat)200, (CGFloat)200);
    }
    img = [[Image alloc] initWithImage:[UIImage imageNamed:@"circle.png"]];
    pos = CGPointMake((CGFloat)200, (CGFloat)200);
    return self;
}

-(void) draw{
    [img renderAtPoint: pos centerOfImage: YES];
}

@end

Then in my main class I call:

//player is the name of the circle object (Circle *player;)
[player init];

And in my render method I call:

[player draw];

When I run my app, the image will not draw, any help?


Solution

  • You probably want to say:

    player = [[Circle alloc] init];
    

    Rather than just [player init], since the latter will do nothing if player is nil (the default value for members).