Nsmutablearray崩溃

时间:2011-07-06 06:50:20

标签: nsmutablearray

在向NSmutablearray添加Nsdate值时,我的应用程序崩溃了。

 - (void)viewDidLoad {


markarry=[[NSMutableArray alloc]init];

HolidayAppDelegate *delegatObj = (HolidayAppDelegate *)[UIApplication sharedApplication].delegate;

for (int i=0;i<[delegatObj.Datearray count]; i++) {

    NSString *Str=[delegatObj.Datearray objectAtIndex:i];

    NSLog(@"dates %@",Str);
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MMMM-dd-yyyy"];

    NSDate *dateFromString;
    dateFromString = [dateFormatter dateFromString:Str];

    NSLog(@"date type %@",dateFromString);
    [markarry addObject:dateFromString];
    [dateFromString release];
    [Str release];

}
}

如果我不发布dateFromString和Str,它也会崩溃。 在这里帮助我。

这是Iam在控制台上出现的错误。

    Terminating app due to uncaught exception 'NSInvalidArgumentException', 
   reason:    -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object
   at 12' Call stack at first throw:

2 个答案:

答案 0 :(得分:0)

reason:    -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object
如果字符串不是有效日期,则

dateFromString将返回nil。所以我的猜测是它返回nil,然后导致异常。

编辑:MMMM真的是你想要的吗?请参阅:http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns

编辑:是的,MMMM就是你想要的。嗯。

答案 1 :(得分:0)

嗯,作为明确状态的例外情况,您尝试将nil对象插入NSMutableArray

所以我假设[dateFormatter dateFromString:Str]返回nil,你不应该把它插入数组。