类方法
1 、以“+”开头的方法
2、 用类名调用的
3、 没有对象是也可以调用
4、 在类方法中不能使用self指针,因为类方法是由类名调用的、没有对象方法。self没有可以指向的对象。
类方法的用处:工厂方法
1、 工厂方法是类方法的一种应用
2 、工厂方法用于生成对象
3 、无参工厂方法
+(id)point;//工厂方法,类型是id,方法名是不要前缀的类名
带参工厂方法
+(id)integer/*不要前缀的类名*/WithInteger:/*属性*/(int)integer/*形参*/;//类名后面带上参数属性
**单例模式: **单个对象
+(id)sharedSingleton; // 结构:shared+类名
+(id)sharedSingleton{
static TRSingleton *single = nil;//用static创建一个空指针,确保只生成单个对象
if (single == nil) {
single = [[TRSingleton alloc]init];
}
return single;
}
一种特殊的工厂方法,特殊在只能生成一个对象