Re: Using #define a good way for String constants, like enums for NSIntegers?
Re: Using #define a good way for String constants, like enums for NSIntegers?
- Subject: Re: Using #define a good way for String constants, like enums for NSIntegers?
- From: Daniel DeCovnick <email@hidden>
- Date: Wed, 10 Aug 2011 16:06:16 -0700
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 (email@hidden)
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:
This email sent to email@hidden