首页 > 其他 > 详细

OC基础(八)类工厂方法

时间:2016-04-26 07:08:16      阅读:191      评论:0      收藏:0      [点我收藏+]

一:基本用法

类工厂方法作用:提高编码效率,快速创建对象的方法

规范:1、一定是+开头

     2、方法以类名开头,首字母小写。

   3、一定有返回值,返回类型为id/instancetype

比如:在类的声明和实现中

无参数:

+ (instancetype)person;

+ (instancetype)person{

    return [[Person alloc] init];

}

在主函数创建对象中就可以直接使用,简化代码。

Person *p1 = [Person person];  //此处的Person person的作用相当于Person new

有参数:

@property int age;

+ (instancetype)personWithAge:(int)age;

+ (instancetype)personWithAge:(int)age

{

    Person *p = [[self alloc] init];  //此处的self不要使用Person

    p.age = age;

    return p;

}

在主函数中就可以直接创建对象使用

Person *p2 = [Person personWithAge:10];

 

二、扩展

给一个类提供自定义构造方法和自定义工厂方法,都是用于快速创建一个对象(初始化对象),本身苹果底层的使用规则也是如此,例如:

1 NSString *p = [[NSString alloc] init];
2 NSString *p = [NSString string];
3 NSString *p1 = [[NSString alloc] initWithString:(nonnull NSString *)];
4 NSString *p1 = [NSString stringWithString:(nonnull NSString *)];
5     
6 NSArray *a = [[NSArray alloc] init];
7 NSArray *a = [NSArray array];
8 NSArray *a1 = [[NSArray alloc] initWithObject:(nonnull id)];
9 NSArray *a1 = [NSArray arrayWithObject:(nonnull id)];

 

OC基础(八)类工厂方法

原文:http://www.cnblogs.com/hissia/p/5433582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!