1、方法与函数的区别:
(1)对象与方法都是以减号开头—
(2)对象方法的声明必须写在@interface和@end之间
对象方法的实现必须写在@implementation和@end之间
(3)对象方法只能由对象来调用(确切的说是由对象的指针来调用)。
(4)函数可以写在@implementation的内部。经常由成员方法来调用。因为函数归文件所有,所以函数能写在文件的任意位置(@interface和@end之间除外)。并不依赖于对象的存在。
(5)对象方法归类\对象所有。
(6)函数内部是不能直接通过成员变量名访问某个对象的成员变量。
2、枚举变量一般都由枚举类型作为前缀。
例如 typedef{SexMan,SexWoman}Sex;
3、注意:只能在定义结构体变量的同时才能用{值1,值2,值 3}的形式一次性赋值格式如下:假设Student类中有一结构体成员Date date; 且Date如typedef struct{int year,int month,intday}Date; 当用Student的对象指针访问date变量赋值时,如果用
s->date={1993,7,3};这种方式赋值是错误的。因为{}只能在定义结构体时才能用。如果改成:Date d={1993,7,3}; s->daye=d; 就不会出错误了。就是说必须声明一个成员作为中介才可以使用{}的方式赋值。
4、类声明部分可以声明任意类型的成员。
5、OC方法中一个参数对应一个冒号,对应一个签名。
6、每个类只对自己所做的事情进行方法实现。例如一个类中可以有其他类的对象作为成员,一般在类自己的成员方法中调用自己成员对象所定义的方法进行实现,即通知自己的成员对象去实现成员对象的类所定义的方法。例如学生类中的有一个狗作为成员,当实现喂狗方法时,要调用“狗”类定义的eat方法。
7、即设计类很重要的一点就是命令对象, 我们想要一个对象做一些事情,就应该把这个对象要做的事情封装到一个这个对象的方法中去。然后再调用这个对象的方法就可以指挥它做哪些事了。
8、 匿名对象—就是没有名字的对象 。匿名对象在OC中是不允许的,会造成内存泄露。