OCMapper icon indicating copy to clipboard operation
OCMapper copied to clipboard

Provide camel case => underscore conversions for object => dictionary

Open markshiz opened this issue 9 years ago • 5 comments

Right now dictionary from object creation performs a non-optional underscore => camel case conversion, in order to make the library consistent with itself, provide the inverse mapping.

markshiz avatar Jan 21 '16 03:01 markshiz

Thanks for the PR Generating underscore keys should be an optional feature, not a replacement for existing naming conventions. Specially since underscore feature was added to the library later as an enhancement.

Methods

- (id)dictionaryFromObject:(NSObject *)object;
- (id)dictionaryFromObject:(NSObject *)object useUnderscoreKeys:(BOOL)useUnderscoreKeys;
  • Second one will replace the first one and based on the boolean flag it would either create regular keys or underscore keys
  • First one simply calls into the first one with the flag set to false

aryaxt avatar Jan 21 '16 16:01 aryaxt

@aryaxt Good thought. I couldn't find that the opposite conversion was optional. It struck me that that should be as well. Do you agree?

markshiz avatar Jan 21 '16 19:01 markshiz

+1. Need convert Object to Dictionary with CamelCase

MeGaPk avatar Mar 04 '16 10:03 MeGaPk

@markshiz Sorry completely forgot to respond to this, but camel case was initially used for OCMapper, and later I added support to check for underscore and handle them if needed

@MeGaPk camel case is the convention used in swift and objective c for property names, so as long as you have followed that it should just create keys in camel case same as property names

aryaxt avatar Mar 04 '16 11:03 aryaxt

@aryaxt i mean, convert Object (NSString *helloWorld="asd";) to dict ({"hello_world":"asd"}), for example.

MeGaPk avatar Mar 14 '16 21:03 MeGaPk