#import "ApiService.h"
@implementation ApiService
static ApiService *sharedInstance = nil;
+ (ApiService *)sharedInstance
{
    if (sharedInstance == nil)
    {
        sharedInstance =  [[self alloc]init];
    }
    return sharedInstance;
}
- (id)init
{
    if (self = [super init])
    {
    }
    return self;
}
@end
When I call +sharedInstance what does self refer to? How am I allowed to call init from a Class method?
 
     
    