Objective-C的数组的初始化完成后再使用

前言:作为一个合格的程序开发人员,对于一些模糊的开发技术问题,不仅仅要有强大的搜索能力,更要学会自己做实验来论证和学习。

现在,我有一个疑问,NSMutableArray数组如果没有进行_infoList=[[NSMutableArray alloc]init]能不能使用呢,下面,我们就做个小实验来测试一下:

在ViewDidLoad函数中,我们写下如下内容:

[super viewDidLoad];
    
    NSLog(@"viewDidLoad");
    
    // self.infoList=[[NSMutableArray alloc]init];
    
    [self.infoList addObject:@"info"];
    
    if([self.infoList count]!=0)
    {
        NSLog(@"not null");
    }
    
    NSLog(@"%@",[self.infoList objectAtIndex:0]);
注意我注释掉得那一句,这是没有进行初始化的,在下面那一句中,我在一个没有初始化的NSMutableArray数组中调用了addObject函数来添加一个成员。然后再通过NSLog()打印出来,你们说会不会成功呢?我么一起来看结果:

PlistTest[919:21472] (null)

日志打印出来后,显示infoList没有成员,是一个空的数组。这是因为我们没有初始化的原因造成的。当我们把

    // self.infoList=[[NSMutableArray alloc]init];


这句代码的注释去掉,就会看到如下的结果:

PlistTest[995:24126] not null
PlistTest[995:24126] info

它就会把我们添加进去的信息给打印出来了,说明,初始化之后才能添加成员。

所以,当使用数组的时候,我们要保证数组初始化之后才能使用。当然,大家也可以做一下NSDictionary的实验。

其实,NSMutabelDictionary也是一样的,都必须进行初始化之后再进行一系列操作。而这些初始化可以在ViewDidLoad之中完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值