- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用 dateFromComponents:
解析从服务器返回的日期字符串。
在极少数情况下,此调用会崩溃,但我们无法重现该错误。有没有人见过这种堆栈跟踪?
Thread 0:
0 libicucore.A.dylib 0x3b13514e _uprv_asciitolower + 18
1 libicucore.A.dylib 0x3b18757b _uloc_openKeywordList + 291
2 libicucore.A.dylib 0x3b135d7f _uloc_getName + 15
3 libicucore.A.dylib 0x3b135ba7 __ZN3icu6Locale4initEPKca + 175
4 libicucore.A.dylib 0x3b14f359 __ZN3icu6Locale14createFromNameEPKc + 57
5 libicucore.A.dylib 0x3b1b13db __ZN3icu8Calendar11setWeekDataERKNS_6LocaleEPKcR10UErrorCode + 131
6 libicucore.A.dylib 0x3b1b164f __ZN3icu8CalendarC2ERKNS_8TimeZoneERKNS_6LocaleER10UErrorCode + 123
7 libicucore.A.dylib 0x3b1d5857 __ZN3icu17GregorianCalendarC2ERKNS_8TimeZoneER10UErrorCode + 27
8 libicucore.A.dylib 0x3b1d5d7b __ZN3icu17GregorianCalendar18setGregorianChangeEdR10UErrorCode + 163
9 CoreFoundation 0x33728967 __CFCalendarSetupCal + 95
10 CoreFoundation 0x336a5db1 __CFCalendarComposeAbsoluteTimeV + 41
11 CoreFoundation 0x336b70d3 -[__NSCFCalendar dateFromComponents:] + 1139
12 <OurApp> 0x0015d7c5 -[NSString(<ACategory>) parsedDateFromyyyyMMddFormat] + 493
13 <OurApp> 0x000e28ab -[<AnNSOperation> finishedWithData:serverDate:] (<AnNSOperation>.m:154)
14 <OurApp> 0x0009ba87 __49-[<AnotherNSOperation> connectionDidFinishLoading:]_block_invoke (<AnotherNSOperation>.m:283)
15 libdispatch.dylib 0x3b9d0793 _dispatch_call_block_and_release + 11
16 libdispatch.dylib 0x3b9d05db _dispatch_client_callout + 23
17 libdispatch.dylib 0x3b9d3e45 __dispatch_main_queue_callback_4CF + 229
18 CoreFoundation 0x336f01b1 __CFRunLoopRun + 1289
19 CoreFoundation 0x3366323d _CFRunLoopRunSpecific + 357
20 CoreFoundation 0x336630c9 _CFRunLoopRunInMode + 105
21 GraphicsServices 0x3721e33b _GSEventRunModal + 75
22 UIKit 0x3557f2b9 _UIApplicationMain + 1121
23 <OurApp> 0x0006c151 main (main.m:32)
Thread 20 Crashed:
0 libsystem_kernel.dylib 0x3c4fb350 ___pthread_kill + 8
1 libsystem_c.dylib 0x3c4ae36b _abort + 95
2 libc++abi.dylib 0x3ba56ddf abort_message + 75
3 libc++abi.dylib 0x3ba541cf ___cxa_pure_virtual + 19
4 libicucore.A.dylib 0x3bc02637 __ZN3icu8CalendarC2ERKNS_8TimeZoneERKNS_6LocaleER10UErrorCode + 99
5 libicucore.A.dylib 0x3bc26857 __ZN3icu17GregorianCalendarC2ERKNS_8TimeZoneER10UErrorCode + 27
6 libicucore.A.dylib 0x3bc26d7b __ZN3icu17GregorianCalendar18setGregorianChangeEdR10UErrorCode + 163
7 CoreFoundation 0x34189967 __CFCalendarSetupCal + 95
8 CoreFoundation 0x34106db1 __CFCalendarComposeAbsoluteTimeV + 41
9 CoreFoundation 0x341180d3 -[__NSCFCalendar dateFromComponents:] + 1139
- (NSDate *)parsedDateFromyyyyMMddFormat
{
NSDateComponents* dateComp = [[NSDateComponents alloc] init];
NSArray *stringParts = [self componentsSeparatedByString:@"-"];
/*
check stringParts validity
...
get years, month & co from "stringParts"
...
set year, month & co on "dateComp"
*/
>>>> THIS LINE CRASHED
NSDate *date = [[[self class] currentCalendar] dateFromComponents: dateComp];
<<<<
return date;
}
+ (NSCalendar *)currentCalendar
{
static NSCalendar *calendar;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
calendar = [NSCalendar currentCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[calendar setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"de_DE"]];
});
return calendar;
}
最佳答案
如果某事随机且很少发生,则表示并发问题是一个危险信号。
NSCalendar 不是线程安全的,请确保应用程序中当前日历的每次使用都在同一个线程上。
另外,我不知道 Arc 是否足够聪明,不会保留你已经单例的日历两次。
关于ios - -[NSCalendar dateFromComponents :] crashes with SIGABRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511762/
我的代码在使用 malloc 时遇到问题。直到一个小时前它一直运行良好。它导致这一行 temp2 = (Temp*)malloc(sizeof(Temp));
我的应用程序运行完美,没有任何问题。但是当我尝试调试它时,android studio 卡住了。所以我收到消息“等待调试器”,然后该消息消失,接下来我在模拟器中只看到黑屏。 我也收到了消息 SIGNA
我用 node-js 和 fluent-ffmpeg 编写了一个 node-js api: 'use strict'; require('babel-register'); const path =
我只是在过去一直工作的模拟器上运行我的代码。我真正为启动代码所做的唯一一件事就是设置用户默认值 NSUserDefaults *defaults = [NSUserDefaults standard
我遇到应用程序每次运行时都会在模拟器上崩溃。由于某种原因,他们收到一个中止信号(见附件截图)。最近才开始用,不知道是不是和10.8.4升级有关。 我刚刚基于“单一 View 应用程序”模板创建了一个新
我的应用程序中存在一个错误,使我发疯!尝试隐藏navigationController工具栏后,主线程会收到SIGABRT消息。 [self.navigationController setToolb
我无法理解以下崩溃,因为它是随机发生的,并且我怀疑可能是多线程问题,但是这里是: Incident Identifier: 0BE956AB-228A-4B1B-8A3D-A99A481F7F3F C
我最近设置了 Crashlytics 以从我的 iOS 应用程序接收崩溃日志,并且我不断收到 SIGABRT 崩溃日志,但我找不到它的来源。 如果你能帮我一点,这是崩溃日志: Exception Ty
我正在尝试通过指针来理解这项工作。所以我编写了一个测试程序,其中通过删除分隔点将名称分成标签。每个标签都表示为长度/数据对,如下所示:google.ru 表示为“x\06googlex\02ru”当我
我正在研究教授给我们的一些旧课本,为即将到来的考试做准备,我遇到了这个问题。 我的任务是从结构如下的文本文件中读取信息: [十进制数字],[罗马数字(字符串)],[o 或 u(优化或未优化的罗马数字)
#toggle the string #include int main() { char S[100],ch; int i=0; gets(S); while((S[i]!
我正在开展一个学校项目,我需要从文件中获取矩阵的信息(高度、宽度、单元格状态)。像这样的事情: 30 40 /*height and width*/ 3 /*nr of lines
我学习 Swift 一段时间了,SIGABRT 信号随机出现了好几次。我尝试过一些在线教程,但似乎并不总是有效。 这次我试图用两个 View Controller 设置一个待办事项列表。一个有一个表格
我在我的项目中添加了第二个目标,以便能够对多个应用程序使用相同的 Xcode 项目(基本应用程序的风格略有变化)。我重命名了目标,更改了方案以匹配名称,还重命名了第二个 info.plist。现在,当
我试图运行一个简单的代码,它编译但当我尝试运行它时我得到(核心转储)错误。于是用gdb查看错误是什么。 代码: #include #include #include void gerar() {
我为这个问题苦苦挣扎了 2 天。我有一个解决方法,但我想了解更多会发生什么。让我们开始吧。我有一个非常原始的异常类,它保存一条错误消息作为指向字符数组的指针(我知道 std::string 的利润)。
NSString *aName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
我正在尝试从框架动态加载类,但应用程序因转换发送 SIGABRT 信号而崩溃: let newClassType = NSClassFromString("MyFramework.CustomClas
当我运行我的应用程序时, View Controller 中会调用一个函数,当发生这种情况时,我会收到信号 SIGABRT。 如何解决这个问题? 功能: func setRootViewControl
我正在尝试保存 UISwitch 结果并使用它们来填充 Parse.com 推送通知的“ channel ”。我遵循了解析指南,但每次我尝试单击保存开关值的保存按钮时,我都会收到一个 SIGABRT。
我是一名优秀的程序员,十分优秀!