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

来源:互联网 发布:人工智能 呼叫中心 编辑:程序博客网 时间:2024/06/05 04:05

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

现在,我有一个疑问,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 nullPlistTest[995:24126] info

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

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

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

0 0