iOS - 类簇

本文通过实例演示了Objective-C中类簇的设计模式及其在Foundation框架中的应用,详细展示了不同初始化方式下NSArray及NSMutableArray的具体实现类。

类簇是在Objective-C中Foundation Framework中广泛使用的一种设计模式

1.发现类簇(Class Cluster)的踪迹

    //*> 执行下面代码
    id obj1  = [NSMutableArray alloc];
    id obj2  = [NSArray alloc];
    id obj3  = @[@"1",@2];
    id obj4  = [[NSArray alloc] init];
    id obj5  = [[NSArray alloc] initWithObjects:@"obj1",@"obj2", nil];
    id obj6  = [[NSArray alloc] initWithArray:obj5];
    id obj7  = @[@"1",@"2"].mutableCopy;
    id obj8  = [[NSMutableArray alloc] init];
    id obj9  = [[NSMutableArray alloc] initWithArray:obj5];
    id obj10 = [[NSMutableArray alloc] initWithObjects:@"1", nil];
    
    NSLog(@"obj1%@",[obj1 class]);
    NSLog(@"obj2%@",[obj2 class]);
    NSLog(@"obj3%@",[obj3 class]);
    NSLog(@"obj4%@",[obj4 class]);
    NSLog(@"obj5%@",[obj5 class]);
    NSLog(@"obj6%@",[obj6 class]);
    NSLog(@"obj7%@",[obj7 class]);
    NSLog(@"obj8%@",[obj8 class]);
    NSLog(@"obj9%@",[obj9 class]);
    NSLog(@"obj10%@",[obj10 class]);

    //*> 打印结果
    /*
    2016-03-24 11:35:17.516 测试1[1388:558109] obj1__NSPlaceholderArray
    2016-03-24 11:35:17.516 测试1[1388:558109] obj2__NSPlaceholderArray
    2016-03-24 11:35:17.516 测试1[1388:558109] obj3__NSArrayI
    2016-03-24 11:35:17.516 测试1[1388:558109] obj4__NSArray0
    2016-03-24 11:35:17.517 测试1[1388:558109] obj5__NSArrayI
    2016-03-24 11:35:17.517 测试1[1388:558109] obj6__NSArrayI
    2016-03-24 11:35:17.517 测试1[1388:558109] obj7__NSArrayM
    2016-03-24 11:35:17.517 测试1[1388:558109] obj8__NSArrayM
    2016-03-24 11:35:17.517 测试1[1388:558109] obj9__NSArrayM
    2016-03-24 11:35:17.517 测试1[1388:558109] obj10__NSArrayM
    
    说明:__NSPlaceholderArray、NSArrayI、NSArray0和NSArrayM分别都是NSArray,NSMutableArray的私有类。
    */

转载于:https://www.cnblogs.com/R0SS/p/5314876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值