在向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:
答案 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
,你不应该把它插入数组。