On Apr 18, 2013, at 2:45 AM, Christ Levesque wrote: > I want to convert my code to ARC but this problems doesn't let me to do this. > I read the errors but I couldn't do nothing. All the problems are in these > else if statement and are colored Red. > > else if (isupper(character)){ > 1) Pointer to non-const type 'NSString *' with no explicit ownership > NSString **classOrProtocolName = (isParsingProtocolName ? > &protocolName : &className); > > 2) Passing address of non-local object to __autoreleasing parameter for > write back > i += parseClassOrProtocolName(unparsedText, strlen(unparsedText), > classOrProtocolName); > isParsingProtocolName = NO; > }else if (i == 0){ > 3) Passing address of non-local object to __autoreleasing parameter > for write back > int advancement = parseTypePrefix(unparsedText, strlen(unparsedText), > &typePrefix); > if (advancement == 0) > return; > > i += advancement; > }else{ > 2) Passing address of non-local object to __autoreleasing parameter for > write back > i += parseTypeSuffix(unparsedText, strlen(unparsedText), &typeSuffix); > }
You could rewrite the above code like this: else if (isupper(character)){ NSString *classOrProtocolName; i += parseClassOrProtocolName(unparsedText, strlen(unparsedText), &classOrProtocolName); if (isParsingProtocolName) protocolName = classOrProtocolName; else className = classOrProtocolName; isParsingProtocolName = NO; }else if (i == 0){ NSString* localTypePrefix; int advancement = parseTypePrefix(unparsedText, strlen(unparsedText), &localTypePrefix); typePrefix = localTypePrefix; if (advancement == 0) return; i += advancement; }else{ NSString* localTypeSuffix; i += parseTypeSuffix(unparsedText, strlen(unparsedText), &localTypeSuffix); typeSuffix = localTypeSuffix; } Regards, Ken _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com