【问题标题】:Trying to make the code readable试图使代码可读
【发布时间】:2011-05-20 07:35:07
【问题描述】:

我正在尝试创建这样的定义

#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 会像疯了一样大喊大叫。

有没有办法打破界限并按我的意愿组织代码?

【问题讨论】:

    标签: iphone c xcode c-preprocessor


    【解决方案1】:

    要跨行拆分#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】:

      根据 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]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-02
        • 1970-01-01
        • 1970-01-01
        • 2016-06-06
        • 1970-01-01
        • 1970-01-01
        • 2017-12-10
        • 1970-01-01
        相关资源
        最近更新 更多