windson
windson

Reputation: 667

pragma directive in UIViewController

When i create a UITableViewController class, the template has some #pragma directives:

#pragma mark -
#pragma mark View lifecycle

at the start and:

#pragma mark -
#pragma mark Table view data source

at the beginning of the implementation of the data source methods.
I know that #pragma is a compiler directive, but why do we need to notify the compiler of the above?
Does this mean that we have to give a #pragma directive every time we implement any kind of data source/delegate protocols?

Upvotes: 7

Views: 2701

Answers (2)

Dominic Frei
Dominic Frei

Reputation: 422

In addition to WrightsCS's absolutely correct answer, I want to point out something else:

If you want to use pragma's on your own, just drop the first line and move the dash to the second line.

#pragma mark -
#pragma mark View Lifecycle

and

#pragma mark - View Lifecycle

produce exactly the same.

Upvotes: 1

WrightsCS
WrightsCS

Reputation: 50717

You dont need to use them. They are simply for code "prettiness" and separating methods.

In my screenshot example, they are used to draw the lines you see, separating delegates.

#pragma mark - draws the line and #pragma mark My Delegates shows you whatever text you see in BOLD.

alt text

Upvotes: 13

Related Questions