Search code examples
iosobjective-cmemory-managementerror-handlingxcode4

Why return on function make a SIGBART signal?


I am novice on objective c. I don't understand why my function doesn't work, it make an error SIGBART on the return of the function.

+ (NSArray*) jsonToArray:(NSString*)jsonString
{
    id mappedObj = nil;
    RKObjectMappingProvider* mapProv = [[RKObjectMappingProvider alloc] init];

    RKObjectMapping* answerMapping = [SMAnswersWrapper entityMappingForSerializer];
    answerMapping.objectClass = [NSMutableDictionary class];

    [mapProv setSerializationMapping:answerMapping forClass:[SMAnswersWrapper class]];
    RKObjectMapping *proofsEntityMapping = [SMEntityArrayWrapper entityMappingWithContentMapping:answerMapping];

    [mapProv setMapping:proofsEntityMapping forKeyPath:@""];

    if (jsonString)
    {
        id obj = [jsonString objectFromJSONString];
        if (obj)
        {
            RKObjectMapper* mapper = [[RKObjectMapper alloc] initWithObject:obj mappingProvider:mapProv];

            RKObjectMappingResult* res = [mapper performMapping];
            mappedObj = [res asCollection];

            [mapper release];
        }
    }
    [mapProv release];
    return [[[mappedObj content] retain] autorelease];
}

The error location is at this line :

return [[[mappedObj content] retain] autorelease];

Thank you.

EDIT

I find my error, I can't access to content at [[[mappedObj content] retain] autorelease]; i had to cast mappedObj.


Solution

  • I find my error, I can't access to content at [[[mappedObj content] retain] autorelease]; i had to cast mappedObj.