#pragma 的用法

来源:互联网 发布:数据库关系模型示例 编辑:程序博客网 时间:2024/03/29 17:05

(1)  


看第一個程式---01a-Base Table,就遇上麻煩,見下圖一第3行及第16行,有#pragma mark ....,完全看不懂,上網查了,才知道,#pragma mark的用法, Mac Developer Tips講得很簡潔,現在解說如下:

(A) #pragma mark是Objective -C語言的一部份嗎?

答:不是。它純粹是Xcode的工具,對程式一點影響都沒有。若不想深入了解,直接跳過即可。

(B) #pragma mark的功用是什麼?

答:pragma這字在字典上查不到,近似字pragmatic的意義是活躍的、愛管閒事的、實用主義的。pragma mark實質上是讓Xcode在其Function Menu內打上一些記號,Function Menu就是圖一中兩個星號之下的那一塊,Function Menu列出程式檔內的class (左方有c字樣)、function(左方有f字樣)、method(左方有m字樣),這是Xcode讓使用者可以快速查看一個程式檔案裡所有class、method、function的工具,pragma mark則是在Function Menu內作記號(mark),幫助閱讀程式。

#pragma mark有兩種型式,

一是 #prama mark - (如圖一程式第3行)

在Function Menu會出現一條直線,如圖一的兩個星號之間,@interface HelloController之上的那一條細線。

當comment掉第3行後,Function Menu上的那一條細線就沒有了(見圖二)。

或是 #pragma mark UITableViewDataSource Methods (以 UITableViewDataSource Methods 為例 ) ((如圖一程式第16行)

在Function Menu內會出現#pragma mark後的所有字(並且以boldface呈現),如圖一的兩個+號之間的" UITableViewDataSource Methods "。

當comment掉第16行後,Function Menu上的UITableViewDataSource Methods就沒有了(見圖二)。

可以看一下圖二方塊圍住的Function Menu和圖一有何差異。是否用#pragma mark的圖一清楚很多,

  1. 有兩條直線分隔HelloController和SampleAppDelegate兩個class。
  2. 在HelloController class中,又分出init、 UITableViewDataSource MethodsUITableViewDelegate Methods

這就是#pragma mark的功能及用法 。

圖一:

圖二:




-----------------------------------------------------------------------------
详细:


http://blog.sina.com.cn/s/blog_4cd8dd130101mmzl.html

0 0
原创粉丝点击