0

我在我的项目中包含了three20 库。我正在使用 TTThumbsViewController。在我升级到 Xcode 3.2.6 和 iOS 4.3 之前,一切都运行良好。照片网格看起来很好,但只要我点击一个拇指,应用程序就会崩溃。我确信这不是内存问题。不过,它在模拟器上运行良好。这是崩溃报告:

事件标识符:3C63956F-F718-468F-B113-116E457DEB4E
CRASSREPORTER键:32180AF33B9999999999869F98369F85412B7999A88FDDB HARDWARD MODER MODEL:iPHON3,1
APPP
[15071]
PATCAME:MYABP [150071] APPL.:MYAPP [150071] APPL.:150071] APPL.ABM IPAPPAR。 /MyApp
标识符:MyApp
版本:??? (???)
代码类型:ARM(本机)
父进程:launchd [1]

日期/时间:2011-05-06 21:48:06.042 -0500
操作系统版本:iPhone OS 4.3 (8F190)
报告版本:104

异常类型:EXC_CRASH (SIGABRT)
异常代码:0x00000000、0x00000000
线程崩溃:0

线程 0 名称:调度队列:com.apple.main-thread
线程 0 崩溃:
0 libsystem_kernel.dylib 0x00011a1c __pthread_kill + 8
1 libsystem_c.dylib 0x000333b4 pthread_kill + 52
2 libsystem_c.dylib 0x0002bbf8 abort + 72
3 libstdc++.6.dy__gnu_c xx44a64 ::__verbose_terminate_handler() + 376
4 libobjc.A.dylib 0x0000606c _objc_terminate + 104
5 libstdc++.6.dylib 0x00042e36 _ cxxabiv1:: _terminate(void (*)()) + 46
6 libstdc++.6.dylib 0x00042e8a std::terminate () + 10
7 libstdc++.6.dylib 0x00042f5a __cxa_throw + 78
8 libobjc.A.dylib 0x00004c84 objc_exception_throw + 64
9 CoreFoundation 0x0009e48a +[NSException raise:format:arguments:] + 62
10 CoreFoundation 0x0009e4c4 +[NSException raise:format:] + 28
11 QuartzCore 0x00001616,CALayerSetPosition(CALayer*:Vec const&, bool) + 134
12 QuartzCore 0x00001584 -[CALayer setPosition:] + 32
13 QuartzCore 0x000014d0 -[CALayer setFrame:] + 384
14 UIKit 0x0000544e -[UIView(Geometry) setFrame:] + 182
15 MyApp 0x00078366 (TTPhotoView.m:221)
16 UIKit 0x000055f4 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 20
17 CoreFoundation 0x0000befc -[NSObject(NSObject) performSelector:withObject:] + 16
18 QuartzCore 0x00002bae -[CALayer layoutSublayers] + 114

有什么想法吗?

谢谢

4

3 回答 3

4

该函数CALayerSetPosition抛出 type 异常NSException,没有人捕捉到它,因此您的应用程序将被终止。尝试-[UIView(Geometry) setFrame:]在函数内部的调用周围添加此代码-[TTPhotoView layoutSubviews](应该在 TTPhotoView.m 的第 221 行):

@try
{
    [myUIView setFrame:someFrame];
}
@catch(NSException *exception)
{
    NSLog(@"Caught exception: %@", exception);
}

这应该为您提供有关引发异常的原因的更多信息;最有可能的是,您传递了一个无效的参数或其他东西。

于 2011-05-07T18:15:35.760 回答
3

是的..这是一个正在通过的 NaN。基本上,如果您使用默认情况下为标题变量分配空值的构造函数(MockPhotoSource 类),则会引发此异常。所以我使用了另一个构造函数并给标题参数一个空白值

于 2011-05-10T04:26:42.483 回答
0

我最近也看到了这个异常,根据 Adam 所说,我认为问题在于 NaN 作为参数传入,这会引发异常。如果这与我遇到的问题相同,我可以将这条线注释掉以解决问题(AFAICT 这条线只处理加载微调器进度指示器)。所以如果你愿意不这样生活,你可以绕过它

于 2011-05-08T17:31:35.307 回答