一.类方法
1.基本概念
用类名(不是对象)调用的方法叫做类方法。
2.类方法和对象方法的对比
(1)对象方法以-开头,而类方法以+开头。
(2)对象方法只能由对象调用,而类方法只能由类调用
(3)对象方法能直接用成员变量名直接访问成员变量,而类方法不能直接访问成员变量。
(5)类方法和对象方法可以同名,用-+号区分。
3.类方法的使用好处和使用场合
(1)不依赖于对象(不需要创建对象),执行效率高
(2)能用类方法尽量用类方法
(3)当方法内部不需要使用到成员变量时,就可以使用类方法
二.self关键字
1.self:指向方法调用者,代表当前对象或者类。可以理解为一个存放当前对象或者类地址的万能指针。
2.self用途:
(1)谁调用了当前方法,self就代表谁(self出现在对象方法中,self就代表对象;self出现在类方法中,self就代表类)。
(2)在对象方法中利用"self->成员变量名"来访问当前对象内部的成员变量。
(3)[self方法名]来调用对象方法\类方法
3.self出现的地方:对象方法或者类方法中,self是依靠方法而存在的。不能放在方法以外的地方。
4.常见错误使用
(1)低级错误:用self去调用函数
(2)类方法中用self调用对象方法,对象方法中用self调用类方法。看清调用这个方法的是对象还是类。
(3)self死循环:在方法中用这个self继续调用这个方法。
三.NSString
1.最简单的创建字符串方式
//直接把OC字符串赋值给一个字符串指针
NSString *str = @"haha";
2.用固定格式创建字符串
//用字符串类方法创建字符串
NSString *str = [NSString stringwithformt:@"haha%d",age];
3.对象方法length可以获得字符串的长度(完全的长度,汉字的长度为1),和C语言中的长度(字节长)有区别。length就是一个get方法,所有可以用点语法直接或者这个长度。
四.注意
1.当成员变量和局部变量同名时,采取就近原则,访问最近作用域的变量。
2.工具类:基本没有任何成员变量,里面的方法基本都是类方法。
3.OC在运行过程中才会检测对象有没有实现方法。所以不写方法的实现是不会报错的。
4.返回值是BOOL类型的方法名一般用is开头,然后使用驼峰标示。