OC开发技巧小结


1,类组合中的一些理解

 如果一个类A成员变量里面包含另一个类B,则在A创建一个对象后,并没有初始化,A对象里面只有一个B类型的指针,但这个指针并没有指向任何内存空间,和其他类型一样时空类型,其实和基本数据类型道理是一样的,需要用set方法给自己赋值。

例如 Circle 类中包含类 Point2D 这个类
Circle *c1 = [Circle new];
Point2D *p1 = [Point2D new];
        [p1 setX:10 andY:15];
[c1 setPoint:p1]; // 用Circle的setPoint方法给_Point 赋值。

2, BOOL类型函数名命名规则

当创建 BOOL 返回值类型的函数时,函数名一般在前面加上is。

3, 类名调用类方法不加*

只有利用类名调用类方法的时候,不需要在类名后面写* ,其它情况下,类名后面统一加上一个* 。

4, 条件表达式的值只能是1或0;
5, 代码编写以可读性,简洁为标准。
6, 定义一个类分两个文件:.h声明文件 .m实现文件
       .h  :成员变量、方法的声明
       .m :方法的实现

7, 头文件 包含规范

include 和 import 一般只包含.h 声明文件,不要包含 .c或.m文件,因为一旦包含进去Xcode编译器会报重复定义的错误。因为Xcode编译器会同时编译所有.m文件。

8,注意 #pragma mark – 的“-”后面不能有空格。
     如果你的标志没有出现在弹出菜单中,比如没有分隔线出现,请在Xcode菜单 “Preferences..”中的 “Code Sense”选项取消选中”Sort listalphabetically”即可。

9.   @property参数规范

如果创建的是对象,一般写上(nonatomic,retain),如果创建的是一般数据类型,一般写上(nonatomic,assign)。

10,@class 

开发中,当类引用类时,声明.h文件里一般用@class ,这样可以提高性能,在.m实现文件里,如果引用到被引用类的实体变量或者方法时,还需要使用#import方式引入被引用类

11,命令行书写

    链接的时候要主动告诉编译器要把 Foundation框架接入进来。指令为:
cc xxx.o -framework Foundation

12,类的书写

    (1),声明和实现后面忘了 @end,声明写在实现部分,实现部分写在声明里面,要严格按照格式语法书写。

    (2),成员变量 

  1> 默认为 @previte
  2> 只能在实例(对象)下调用成员变量
  3> 不允许在声明里初始化
  4> 不能随便将成员变量当做C语言中的变量来使用

13,对象的书写

    (1),OC对象成员变量

    一定要以下划线 _ 开头
    好处:1,让成员变量和get方法的名称区分开。
                2,可以跟局部变量区分开,一看到下划线开头的变量,一般都是成员变量。

(2),OC对象方法

  1>对象方法都是以减号 - 开头,- 后面跟空格
  2>对象方法的声明必须写在 @interfacehe和  @end之间
   对象方法的声明必须写在 @implementation和  @end之间
  3>- 后面跟空格

14,c函数

    (1),c语言函数可以写在文件中任意位置。

    (2),调用不依赖对象。

    (3),函数内部不能直接通过成员变量名访问某个对象的成员变量。

15,OC类方法

    (1),加号 + 开头

    (2),只能由类(名)来调用

    (3),可以允许类方法和对象方法同名

    (4),类方法中不能访问成员变量(实例变量)

16,类方法的好处和实用场合

    (1),不依赖于对象,执行效率高

    (2),能用类方法尽量用类方法

    (3),场合:当方法内部不需要使用到成员变量时,就可以改为类方法



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值