一,关于空行

A:.h中的空行

1,文件说明与头文件包涵(#import)之间空1行

2,头文件包涵(#import)之间,如果需要分类区别,各类别之间空1行

3,头文件包涵(#import)与@class之间空2行

4,@interface与@class之间空一行

5,头文件{}里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行

6,{}外空1行,书写属性,如果需要分类区别,各类别之间空1行

7,空1行开始写方法,如果需要分类区别,各类别之间空1行

8,方法完成后,空1行@end

9,如果需要声明protocal,空2行接着写。通常protocal写在@end后面,但是声明在@interface前面,也可以另写一个文件

B:.m中的空行

1,文件说明与头文件包涵(#import)之间空1行

2,头文件包涵(#import)之间,如果需要分类区别,各类别之间空1行

3,@implementation和@synthesize之间空一行,@synthesize不要使用逗号(,)如果需要分类区别,各类别之间空1行

4,@synthesize与方法之间空2行

5,各方法之间空2行

C:方法里面的空行

1,方法名后空1行开始写

2,变量声明后需要空1行,如果需要分类区别,各类别之间空1行

3,条件,循环,选择语句,整个语句结束,需要空1行

4,各功能块之间空1行

5,最后一个反括号之前不空行

6,注释与代码之间不空行

7,#pragma mark与方法之间空1行

二,关于空格

1,.h中协议<>前面有1个空格

2,.h中成员声明时,类型与变量之间有至少1各空格。星号(*)靠近变量,不靠近类型。(部分习惯,所有变量可以以*对齐,中间留空)

3,@property后有1各空格,()里面,逗号后有1个空格,括号外,先留1个空格,再声明属性

4,方法+,-后,与()之间有1个空格

5,返回类型与*之间有1个空格,方法参数中返回类型与*之间有1个空格

6,多参数的方法,每一个参数后面都有1个空格

三,关于布尔值

1,不要用if(obj==nil){},而用if(!obj){}

2,比较时把常量放前面可以避免错误

不要用if(aIntValue==255){},而用if(255==aIntValue){},避免漏掉一个“=”,而变成赋值

3,不要用if(aBool==YES){},直接用if(aBool){}或if(!!aBool){}

四,变量属性名和其它

1,尽量在使用的时候才声明变量,尽量少用全局变量

2,变量名不要只使用一个字母,尽量能表示变量的意思

3,@synthesize和@dynamic,应该放在类实现的最上面,每一个声明都单独一行

4,协议protocls需要加#pragam marks-来区分

5,释放时应该[obj release],obj = nil; delegate也应该在dealloc里面delegate = nil;

 
以上是我的一些总结

iPhone开发:Objective C 代码规范-iOS总结版的更多相关文章

  1. [转]iOS开发总结之代码规范

    转自:http://www.cocoachina.com/ios/20151014/13678.html 命名规范 总 的来说, iOS命名两大原则是:可读性高和防止命名冲突(通过加前缀来保证). O ...

  2. iOS开发 objective C 代码布局

    代码布局抛弃storyboard,用代码生成界面,它的优劣不谈 首先在项目设置中,更改应用的"入口" 不选main,清空它 然后在AppDelegate.m中,更改(添加内容),别 ...

  3. (开发)ESLint - 代码规范

    参考文档:http://eslint.cn/ ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误.在许多方面,它和 J ...

  4. (转)ios 代码规范

    转自http://blog.csdn.net/pjk1129/article/details/45146955 引子 在看下面之前,大家自我检测一下自己写的代码是否规范,代码风格是否过于迥异阅读困难? ...

  5. 代码规范、代码复审、PSP

    作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作  一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...

  6. laravel代码规范强制检查

    目录 介绍 代码规范检查与修复 在git commit时自动检查代码规范 后记 介绍 在团队协作开发中,代码规范是必要的.以前的规范都是自己定,然后手动检查,很难做到有效的约束. 现代的PHP,则有得 ...

  7. 【汇总】涉及iOS&iPhone开发相关文章汇总

    此文章汇总本博客中有涉及iPhone开发的相关文章,不定时更新中... 1.NSUserDefaults快速存储数据: http://www.cnblogs.com/ios-wmm/archive/2 ...

  8. iOS开发教程之:iPhone开发环境搭建

    安装条件: 硬件:一台拥有支持虚拟技术的64位双核处理器和2GB以上内存的PC. 注意:运行MAC OS,需要电脑支持虚拟技术(VT),安装时,需要将VT启动,在BIOS中开启. 软件: Window ...

  9. iphone开发 IOS 组织架构图

    转载自 :http://blog.csdn.net/mashi321323/article/details/18267719   登录|注册     mashi321323的专栏       目录视图 ...

随机推荐

  1. LinGo:投资问题——线性规划

    一.根据题目所给数据,建立一张表格方便查看 项目A 项目B 项目C 项目D 可投资年 1,2,3,4 3 2 1,2,3,4,5 收回本利年 次年年末 第5年 第5年 当年年末 本利 1.06 1.1 ...

  2. [Design Pattern] Singleton Pattern 简单案例

    Singleton Pattern, 即单例模式,用于获取类的一个对象,该对象在整个应用中是其类的唯一对象.单例模式属于创建类的设计模式. SingleObject 作为单例类,内含了一个静态私有的 ...

  3. 港股street和nominee区别

    股票的street和nominee区别主要用在公司行动的过户费方面,street股票需要收取过户费,nominee不收过户费. street股票通过做公司行动收取过户费后会变成nominee股票,下次 ...

  4. android 反纠结app开发: 在线程中更新view

    大体上想实现一个思路: 对一个view 的内容进行不停地变化, 通过按钮停止这种变化,以达到随机选择的目的. 开发过程中 使用textview 模拟,  建立线程 mythread = new Thr ...

  5. Thrift初探:简单实现C#通讯服务程序

    Thrift是一种可伸缩的跨语言服务框架,它结合了功能强大的软件堆栈的代码生成引擎,以建设服务,工作效率和无缝地与C++,C#,Java,Python和PHP和Ruby结合.thrift允许你定义一个 ...

  6. Robotium--通过Id寻找控件

    在自动化测试中,UI上经常有一些控件是没有名称的,那么此时,就可以通过id来找到这些控件. 案例:对两个EditText进行测试 package com.tangbc.tedit.test; impo ...

  7. 指针-->字符串

    1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符. 如在代码中写"abc",那么编译器帮你存储的是"abc\0". 2. "ab ...

  8. python安装MySQLdb(Windows环境)

    1.下载 http://www.codegood.com/downloads 我的win7 64位.Python2.7.8版本,所以选择MySQL-python-1.2.3.win-amd64-py2 ...

  9. checkbox遍历操作, 提交所有选中项的值

    <div class="content_list pad_10 hidden" > <h3>修改可配送地区</h3> <input typ ...

  10. 富文本 SpannableString Span

    经典使用场景 SpannableStringBuilder needStartSSB = new SpannableStringBuilder("需要"); SpannableSt ...