【问题标题】:#pragma mark not listing the first group name#pragma mark 未列出第一个组名
【发布时间】:2013-03-04 01:16:40
【问题描述】:

我使用#pragma mark 将我的方法分组到某些类别下。但问题出在Xcode 4 我的第一个类别没有显示。

我的代码如下:

@interface MyClass : NSObject

#pragma mark -
#pragma mark Category 1

//Some method declaration

#pragma mark -
#pragma mark Category 2

//Some method declaration

#pragma mark -
#pragma mark Category 3

//Some method declaration
@end

但是当我查看Xcode 时,它只显示类别 2 和类别 3。类别 1 未在此处列出,请查看图片

我的代码有问题还是XCode 中的错误?

【问题讨论】:

  • +1 我从没注意到这个!!
  • @borrrden:谢谢,anoop 的回答解决了这个问题。 Xcode 中的错误也是 :)

标签: ios xcode xcode4 pragma


【解决方案1】:

是的,这是一个错误。

但您可以通过在 interface .h 文件/ 以及 implementation / .m 文件 中添加 {} 来覆盖此错误以满足您的要求:: p>

@implementation AppDelegate
{}

#pragma mark -
#pragma mark Category 1

-(void)awakeFromNib{

}

另外,不需要使用两个#pragma,您可以将它们合并为一个:

#pragma mark - Category 1

【讨论】:

  • +1 打败我。似乎 Xcode 仍然希望使用旧的编写类的方式。另请注意,这也适用于 @interface(这是 OP 问题中的代码)
  • @borrrden:是的,即使是 .h 和 .m 也有同样的问题,而且我很快就在 .m 中做了;)
  • 只是想指出这一点,以防有人想说“嘿,那是 .m 文件而不是 .h 文件!!”
  • @borrrden: 还是我也应该更改代码 sn-p 和屏幕截图?
  • 不,我现在很好!感谢您的关注。
【解决方案2】:

另一种简洁的方法:只需添加一个简单的;

@implementation AppDelegate;

#pragma mark - Category 1

【讨论】:

  • 是的,这比我的好看;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多