#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的圖一清楚很多,
- 有兩條直線分隔HelloController和SampleAppDelegate兩個class。
- 在HelloController class中,又分出init、 UITableViewDataSource Methods、UITableViewDelegate Methods。
這就是#pragma mark的功能及用法 。
圖一:
圖二:
- #pragma 的用法
- #pragma的一般用法
- #pragma warning 的用法
- #pragma的用法
- #pragma的用法
- #pragma的用法
- pragma comment的用法
- #pragma的用法
- #pragma的用法
- PRAGMA EXCEPTION_INIT的用法
- #pragma的用法
- #pragma 的用法
- #pragma once 的用法
- pragma的用法
- #pragma warning 的用法
- #pragma pack 的用法
- #pragma mark的用法
- #pragma 的用法
- 项目优化经验分享(七)敏捷开发
- 局部敏感哈希(Locality-Sensitive Hashing) LSH
- js中取得当前加载的js的src地址
- POWERPCB和PROTEL文件格式的相互转换
- 虚基类、虚函数和纯虚基类
- #pragma 的用法
- Android - 小功能 - 利用最新版ShareSDK进行手动分享(自定义分享界面)
- Lucene StandardAnalyzer的代码分析2
- 使用Gson 解析Json(Including array)
- 【jQuery学习笔记---------DOM操作复制元素】
- 对待问题的正确态度
- UVa 846 - Steps
- 最具争议的10个编程观点
- poj3061,求连续数字中达到给定数字最短数字 贪心