Table of Contents Previous Next
Logo
Client-Side Slice-to-Objective-C Mapping : 18.9 Mapping for Constants
Copyright © 2003-2009 ZeroC, Inc.

18.9 Mapping for Constants

Slice constant definitions map to corresponding Objective‑C constant definitions. Here are the constant definitions we saw in Section 4.9.5 on page 109 once more:
const bool      AppendByDefault = true;
const byte      LowerNibble = 0x0f;
const string    Advice = "Don't Panic!";
const short     TheAnswer = 42;
const double    PI = 3.1416;

enum Fruit { Apple, Pear, Orange };
const Fruit     FavoriteFruit = Pear;
Here are the generated definitions for these constants:
static const BOOL EXAppendByDefault = YES;
static const ICEByte EXLowerNibble = 15;
static NSString * const EXAdvice = @"Don't Panic!";
static const ICEShort EXTheAnswer = 42;
static const ICEDouble EXPI = 3.1416;

typedef enum {
    EXApple, EXPear, EXOrange
} EXFruit;
static const EXFruit EXFavoriteFruit = EXPear;
All constants are initialized in the generated header file, so they are compile-time constants and can be used in contexts where a compile-time constant expression is required, such as to dimension an array or as the case label of a switch statement.
Table of Contents Previous Next
Logo