#pragma
2015-06-04 23:56
190 查看
茶歇时间,随手作点笔记。记录#pragma在xocde中的两个主要任务。本人是小辈,对于IOS知识的掌握也只是略懂一二,请大家勿吐口水。小辈恭送大神飘过。在这先感谢支持我博文的朋友们,谢谢你们!
#pragma声明主要完成两个主要任务:整理代码和防止编译器警告。打开xcode,密密麻麻的代码让人无从下手,缺少惯性和内部一致性的代码使得一个项目难以维持和协作,看起来真让人头疼。我们可以使用#pragma mark整理代码,例如:
使用#pragma mark来将代码分割成逻辑区块,不仅使得阅读代码变得容易,而且在xcode源导航也便于寻找。有一个好的惯例,将各类子类方法根据它们的超类组合放在一起,比如一个NSInputStream子类放在NSStream的组里,如IBAction对应的通知、选择器等之类的方法,建议有他们的各自的区块,以便于寻找。
另外一面,用#pragma声明防止来自编译器或者静态分析器的警告。我们经常会使用到第三方代码,如果第三方代码编译时生成大量的警告,那是让人非常头疼的事情,这时候#pragma就派上用场了:
#pragma声明主要完成两个主要任务:整理代码和防止编译器警告。打开xcode,密密麻麻的代码让人无从下手,缺少惯性和内部一致性的代码使得一个项目难以维持和协作,看起来真让人头疼。我们可以使用#pragma mark整理代码,例如:
#pragma mark - UIViewController - (void)viewDidLoad { ... } #pragma mark - IBAction - (IBAction)cancel:(id)sender { ... }
使用#pragma mark来将代码分割成逻辑区块,不仅使得阅读代码变得容易,而且在xcode源导航也便于寻找。有一个好的惯例,将各类子类方法根据它们的超类组合放在一起,比如一个NSInputStream子类放在NSStream的组里,如IBAction对应的通知、选择器等之类的方法,建议有他们的各自的区块,以便于寻找。
另外一面,用#pragma声明防止来自编译器或者静态分析器的警告。我们经常会使用到第三方代码,如果第三方代码编译时生成大量的警告,那是让人非常头疼的事情,这时候#pragma就派上用场了:
// completionBlock在AFURLConnectionOperation中被手动的设置为nil来打破保留周期。 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-retain-cycles" self.completionBlock = ^ { ... }; #pragma clang diagnostic pop 本例来自AFNetworking,通过使用#pragma clang diagnostic push/pop来忽视特定的警告。你可以在 读到关于更多#pragma的LLVM用法的知识.
相关文章推荐
- 在集群运行spark代码记录程序
- 如何判断手机浏览器是否有安全隐患?
- Android编码规范
- servlet 项目 ,,启动没问题,,但是,一请求也面就报错误。。。。求解决。。。。。。。。。。。。。各种百度,都没解决了啊。。。。。急急急急急急急急急急急急急急急急急急
- mysql 的count(*)统计结果很慢?为什么
- [C]simple code of count input lines,words,chars
- [C]simple code of count input lines,words,chars
- Summary Day30
- Android 数据库打包随APK发布
- Two Sum的快排暴力解法
- Swift—初始 (1)
- 1到N中“1”出现的次数
- php浮点数精确运算
- Android 开发中,如何将 SQLite 和 APK 一起打包发布
- iOS: 剪裁UIImage部分不规则区域
- CRF的库资源
- stack, deque 和 queue的对比
- [SGU495] Kids and Prizes (概率dp)
- Lycn 2013 with SQL AlwaysOn 「一」建立AlwaysOn
- C语言之断言