测试我的数组在给定索引处是否为零?
我试图创建一个NSMutableArray
包含另一个给定索引的内容。测试我的数组在给定索引处是否为零?
我初始化与initWithArray:
如果前面的数组索引在任何新的数组,否则用普通init
此代码不工作,但你应该能够从中得到的想法:
NSMutableArray *typeCourseCutId;
if([self.typeCourseCut objectAtIndex:typeCourseIndex] != nil){
typeCourseCutId = [[NSMutableArray alloc]initWithArray:[self.typeCourseCut objectAtIndex:typeCourseIndex]];
} else {
typeCourseCutId = [[NSMutableArray alloc]init];
}
有没有这种测试的解决方案?
您可以检查数组的数量。如果计数大于您正在提取的索引,则意味着该索引中存在一个对象。
还要确保你的self.typeCourseCut
是一个NSArray
对象的数组,否则你的initWithArray:
会崩溃。在Self.typeCourseCut
您也可以一个空对象到一个数组添加为[yourArray addObject:[NSNull null]];
而且最重要的是,无需在索引1处具有一个对象,则不能将对象添加到索引2
这是正确的答案;如果索引在正确的范围内,那里有一个对象。关于'initWithArray:'的说明也很重要。 –
thnks buddy .. :) –
谢谢你,虽然我做了这个[...计数]选项,但没有通过...我会尝试从Apple获取NSNull文档的更新。 – Tim
有一个名为NSNull
特殊的类,是专门创建的集合使用作为空指示符:
的
NSNull
类定义用于表示在集合对象null
值(不允许一个singleton对象nil
值)。
if([self.typeCourseCut objectAtIndex:typeCourseIndex] != [NSNull null]) ...
数组不应为零的任何索引。数组的建立方式是只要它到达一个零对象。它被认为是数组的末尾。
您不能添加零对象,也不能将现有对象更新为零。
如果您必须将某些内容设置为“空”样式对象,则可以在其位置使用NSNull。这是大多数JSON解析器为他们想要显示的对象执行的操作,但是为空。
哪种类型的数据存储的? –
'objectAtIndex:'不会为_any_索引返回'nil'。可可数组不能包含'nil',并且如果你尝试访问数组边界外的索引,将会引发异常。试图将'nil'放入数组中也会导致异常。 –