From 2c1044ae410c6126a779d5d0b0b1e8822d7f7bc1 Mon Sep 17 00:00:00 2001 From: James Burka Date: Tue, 17 Feb 2009 09:53:40 -0500 Subject: [PATCH] [#46] getRemoteId returns a string --- Classes/lib/NSObject+ObjectiveResource.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Classes/lib/NSObject+ObjectiveResource.m b/Classes/lib/NSObject+ObjectiveResource.m index d88db77..400ea16 100644 --- a/Classes/lib/NSObject+ObjectiveResource.m +++ b/Classes/lib/NSObject+ObjectiveResource.m @@ -165,7 +165,7 @@ - (NSString *)convertToRemoteExpectedType { #pragma mark default equals methods for id and class based equality - (BOOL)isEqualToRemote:(id)anObject { return [NSStringFromClass([self class]) isEqualToString:NSStringFromClass([anObject class])] && - [anObject respondsToSelector:@selector(getRemoteId)] && [[[anObject getRemoteId] stringValue]isEqualToString:[[self getRemoteId] stringValue]]; + [anObject respondsToSelector:@selector(getRemoteId)] && [[anObject getRemoteId]isEqualToString:[self getRemoteId]]; } - (NSUInteger)hashForRemote { return [[self getRemoteId] intValue] + [NSStringFromClass([self class]) hash]; @@ -177,6 +177,9 @@ - (id)getRemoteId { SEL idMethodSelector = NSSelectorFromString([self getRemoteClassIdName]); if ([self respondsToSelector:idMethodSelector]) { result = [self performSelector:idMethodSelector]; + if ([result respondsToSelector:@selector(stringValue)]) { + result = [result stringValue]; + } } return result; }