Попытка сделать код читабельным - PullRequest
1 голос
/ 04 декабря 2010

Я пытаюсь создать определение, подобное этому

#define ICONS   [NSArray arrayWithObjects: [NSNumber numberWithFloat:33.0f], [NSNumber numberWithFloat:93.0f], [NSNumber numberWithFloat:149.0f], [NSNumber numberWithFloat:205.0f], [NSNumber numberWithFloat:314.0f], [NSNumber numberWithFloat:370.0f], [NSNumber numberWithFloat:426.0f], [NSNumber numberWithFloat:482.0f], nil]

но я хотел бы написать его в виде строк - чтобы сделать код читабельным, как

#define ICONS   [NSArray arrayWithObjects: 
[NSNumber numberWithFloat:33.0f], 
[NSNumber numberWithFloat:93.0f], 
[NSNumber numberWithFloat:149.0f], 
[NSNumber numberWithFloat:205.0f], 
[NSNumber numberWithFloat:314.0f],
[NSNumber numberWithFloat:370.0f],
[NSNumber numberWithFloat:426.0f],
[NSNumber numberWithFloat:482.0f],
nil]

но когда я ломаю определение в строках, XCode кричит как сумасшедший.

Есть ли способ разбить строку и организовать код так, как я хочу?

Ответы [ 2 ]

12 голосов
/ 04 декабря 2010

Чтобы разделить #define по строкам, вам нужно добавить \ к строкам.

#define ICONS   [NSArray arrayWithObjects:               \
                    [NSNumber numberWithFloat:33.0f],    \
                    [NSNumber numberWithFloat:93.0f],    \
                    [NSNumber numberWithFloat:149.0f],   \ 
                    [NSNumber numberWithFloat:205.0f],   \
                    [NSNumber numberWithFloat:314.0f],   \
                    [NSNumber numberWithFloat:370.0f],   \
                    [NSNumber numberWithFloat:426.0f],   \
                    [NSNumber numberWithFloat:482.0f],   \
                    nil]
2 голосов
/ 04 декабря 2010

В соответствии со спецификацией C многострочное определение требует '\' в конце каждой строки:

#define ICONS   [NSArray arrayWithObjects: \
                    [NSNumber numberWithFloat:33.0f],  \
                    [NSNumber numberWithFloat:93.0f],  \
                    [NSNumber numberWithFloat:149.0f], \
                    [NSNumber numberWithFloat:205.0f], \
                    [NSNumber numberWithFloat:314.0f], \
                    [NSNumber numberWithFloat:370.0f], \
                    [NSNumber numberWithFloat:426.0f], \
                    [NSNumber numberWithFloat:482.0f], \
                    nil]
...