带有 sigabrt 错误的 NSexception
Posted
技术标签:
【中文标题】带有 sigabrt 错误的 NSexception【英文标题】:NSexception with sigbart error 【发布时间】:2016-10-18 11:13:56 【问题描述】:我正在尝试从 json 网络服务中获取结果。对于字符串值,它工作正常。当我尝试获取整数值时,它会抛出带有 sigbart 错误的 nsexeption。
我的 json 结果是这样的。
["CaseId":81,"ApplicantName":"test","ApplicantContactNo":"teas","PropertyAddress":"ewae","BankName":"Bank of India","ReportDispatcher":null,"PropertyType":"test","AssignedAt":"2016-10-07T13:01:20","Status":"Open","PropertyId":62,"EmployeeName":null,"StatusId":1
当我尝试捕获 CaseId 和 AssignedAt 时,它会抛出错误。
这是我的代码。
NSString * caseid = @"CaseId";
NSString * assigned = @"AssignedAt";
for (NSDictionary *dataDict in jsonObjects)
NSString *caseid1 = [dataDict objectForKey:@"CaseId"];
NSString *assigned1 = [dataDict objectForKey:@"AssignedAt"];
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
caseid1,caseid,assigned1,assigned, nil];
[myObject addObject:dictionary];
cell.caseid.text=[tmpDict objectForKey:@"CaseId"];
cell.days.text=[tmpDict objectForKey:@"AssignedAt"];
任何帮助将不胜感激。
【问题讨论】:
你应该给出错误。但可能猜测是有一个“[NSNumber length] unrecognized selector sent to instance”。NSJSONSerialization
将NSData
转换为NSArray
、NSDictionary
、NSString
和NSNumber
。您可以使用[[tmpDict objectForKey:@"CaseId"] class]
进行检查。所以cell.caseid.text=[[tmpDict objectForKey:@"CaseId"] stringValue];
应该可以工作。
【参考方案1】:
这应该适合你:
NSString *caseIdValue = [NSString stringWithFormat:@"%@",[dataDict objectForKey:@"CaseId"]];
NSString *assignedAtValue = [NSString stringWithFormat:@"%@",[dataDict objectForKey:@"AssignedAt"]];
【讨论】:
它工作正常。还有一个帮助?我有这样的价值“2016-10-07T13:01:20”。我想转换为从当前日期起 2 天或 3 天的日期。有什么帮助吗? @R.AarthikaRajendran 这是另一个问题。您必须使用NSDateFormatter
将该字符串日期转换为 NSDate
(关于此的问题已经存在),然后将其转换为“2天前”等(也有关于它的问题) .以上是关于带有 sigabrt 错误的 NSexception的主要内容,如果未能解决你的问题,请参考以下文章
带有核心数据未捕获的 NSExeption 类型异常的 SIGABRT
pycharm 随机发生错误:进程以退出代码 134 完成(被信号 6 中断:SIGABRT)
CustomCell 为空或导致 SIGABRT 错误 [W/Code]