Provide more generic constructors for the object store and object

manager
This commit is contained in:
Adam Hinz
2011-02-05 15:31:47 -05:00
parent d77ef78eea
commit 166eeeb566
4 changed files with 38 additions and 4 deletions

View File

@@ -28,10 +28,15 @@ static RKObjectManager* sharedManager = nil;
@synthesize router = _router;
- (id)initWithBaseURL:(NSString*)baseURL {
return self = [self initWithBaseURL:baseURL objectMapper:[[[RKObjectMapper alloc] init] autorelease] router:[[[RKDynamicRouter alloc] init] autorelease]];
}
- (id)initWithBaseURL:(NSString*)baseURL objectMapper:(RKObjectMapper*)mapper router:(NSObject<RKRouter>*)router {
if (self = [super init]) {
_mapper = [[RKObjectMapper alloc] init];
_router = [[RKDynamicRouter alloc] init];
_mapper = [mapper retain];
_router = [router retain];
_client = [[RKClient clientWithBaseURL:baseURL] retain];
self.format = RKMappingFormatJSON;
_onlineState = RKObjectManagerOnlineStateUndetermined;
[[NSNotificationCenter defaultCenter] addObserver:self
@@ -64,6 +69,14 @@ static RKObjectManager* sharedManager = nil;
sharedManager = manager;
}
+ (RKObjectManager*)objectManagerWithBaseURL:(NSString*)baseURL objectMapper:(RKObjectMapper*)mapper router:(NSObject<RKRouter>*)router {
RKObjectManager* manager = [[[RKObjectManager alloc] initWithBaseURL:baseURL objectMapper:mapper router:router] autorelease];
if (nil == sharedManager) {
[RKObjectManager setSharedManager:manager];
}
return manager;
}
+ (RKObjectManager*)objectManagerWithBaseURL:(NSString*)baseURL {
RKObjectManager* manager = [[[RKObjectManager alloc] initWithBaseURL:baseURL] autorelease];
if (nil == sharedManager) {