UIViewController中的pragma指令

win*_*son 7 objective-c pragma ios4

当我创建一个UITableViewController类时,该模板有一些#pragma指令:

#pragma mark -
#pragma mark View lifecycle
Run Code Online (Sandbox Code Playgroud)

在开始时:

#pragma mark -
#pragma mark Table view data source
Run Code Online (Sandbox Code Playgroud)

在数据源方法的实现开始时.
我知道这#pragma是一个编译器指令,但为什么我们需要通知上面的编译器?
这是否意味着我们#pragma每次实施任何类型的数据源/委托协议时都必须提供指令?

Wri*_*sCS 13

你不需要使用它们.它们只是代码"漂亮"和分离方法.

在我的截图示例中,它们用于绘制您看到的行,分隔代理.

#pragma mark -绘制线条并#pragma mark My Delegates显示您在BOLD中看到的任何文字.

替代文字

  • 请注意,如果xcode的首选项设置为对方法进行排序,则这些编译指示标记不起作用.如果您看到所有方法,然后在底部看到pragma注释,请进入xcode首选项并关闭排序.我喜欢苹果来修复它,以便在pragma中完成排序.然后它会非常有用. (2认同)