The disadvantage is if you need to use string constants across binaries (such as constants used by plugins). If you strip symbols, you can't use them at all (whereas you can use #defines from an imported header file). If you don't strip symbols, you still need to declare them as follows:
extern NSString *const __attribute__ ((visibility ("default"))) kStringName; so the linker won't mark the symbol hidden. (This is for GCC; I don't know the equivalent for Clang/LLVM) -Dan On Aug 9, 2011, at 10:10 AM, Gregory Weston wrote: > Devraj Mukherjee wrote: > >> I am writing an API client for a REST service, parts of the REST API >> returns fixed String values. E.g. status of an order. >> >> I want to represents these fixed responses as constants. I have >> represented fixed numeric values using enums and used a typedef to >> represent the data type. >> >> Are Strings defined using #define good enough as String constants? >> >> Or Should I be doing this another way? >> >> Thanks for your time. > > I'm still generally in favor of named constants over pre-processor > substitution. Gives you types and no worry about parentheses. _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com