// Person.m文件里
+ (id)person{
return [[self alloc] init];
}
// mainViewController.m,下面这行代码,用字符串类型的指针指向Person类的对象,编译通过,因为person返回的id类型,任何指针都可以指向它
NSString *str = [Person person];
// 如果用instancetype,编译时,会有警告.也就是说instancetype比id多了检测真实类型的功能,可以提前暴露程序存在的风险
+ (instancetype)person{
return [[self alloc] init];
}
NSString *str = [Person person]; //会有警告,[Person person]返回的Person类型, 警告信息:把Person类型的数据赋值给字符串类型