ios4 – 尝试设置框架时UIImageView崩溃

ios4 – 尝试设置框架时UIImageView崩溃,第1张

概述首先是我的崩溃日志: Thread 0 Crashed: 0 libSystem.B.dylib 0x35176264 __kill + 8 1 libSystem.B.dylib 0x35176254 kill + 4 2 libSystem.B.dylib 0x35176246 raise + 10 3 libSystem.B.dylib 0x3518ad02 abort + 50 4 lib 首先是我的崩溃日志:

Thread 0 Crashed:
0 libSystem.B.dylib 0x35176264 __kill + 8
1 libSystem.B.dylib 0x35176254 kill + 4
2 libSystem.B.dylib 0x35176246 raise + 10
3 libSystem.B.dylib 0x3518ad02 abort + 50
4 libstdc++.6.dylib 0x31432a20 __gnu_cxx::__verbose_terminate_handler() + 376
5 libobjc.A.dylib 0x31a97594 _objc_terminate + 104
6 libstdc++.6.dylib 0x31430df2 _cxxabiv1::_terminate(voID (*)()) + 46
7 libstdc++.6.dylib 0x31430e46 std::terminate() + 10
8 libstdc++.6.dylib 0x31430f16 __cxa_throw + 78
9 libobjc.A.dylib 0x31a964c4 objc_exception_throw + 64
10 CoreFoundation 0x361857c2 +[NSException raise:format:arguments:] + 62
11 CoreFoundation 0x361857fc +[NSException raise:format:] + 28
12 QuartzCore 0x3148b222 CALayerSetposition(CALayer*,CA::Vec2 const&,bool) + 134
13 QuartzCore 0x3148b190 -[CALayer setposition:] + 32
14 QuartzCore 0x3148b0dc -[CALayer setFrame:] + 384
15 UIKit 0x35d15aba -[UIVIEw(Geometry) setFrame:] + 182
16 UIKit 0x35d15928 -[UIImageVIEw setFrame:] + 96

我从崩溃日志中复制了一个部件.第16行之后有我的课程,我不能在这里介绍.在MyClass和MyMethod中,我更改了imageVIEw的框架.我的问题是我无法重现这个错误,我想重现它.是什么导致这个日志?我在调用setFrame:之前尝试释放imageVIEw,但它不会产生此错误.
任何想法如何得到它?或者为什么这个错误有时会发生?

解决方法 我从我自己的一个项目中认识到这个问题.通常当setFrame:崩溃时,因为你试图设置NaN(不是数字).我不知道你以前是否曾经和NaN打过交道,但如果你没有发表评论,我会提供有关如何处理它的信息.

编辑:有一段时间,我想可能会给你一个例子.

所以这里有一个代码示例来解释为什么这个BUG难以重现以及如何解决它.我不知道你的代码是什么样的,但你的问题听起来很相似,让我相信你犯的错误和我做的一样.

请考虑以下代码:

- (voID)layoutSubvIEws {    CGRect imageFrame;    switch (self.state) {        case 0:            imageFrame = CGRectMake(0,100,100);        case 1:            imageFrame = CGRectMake(10,10,50,50);    }    self.imageVIEw.frame = imageFrame;}@H_403_52@  

考虑到self.state是2,然后imageFrame将永远不会被初始化并且将包含该内存位置上的任何内容,可能是NaN.难以重现的原因是只有在该内存位置上有NaN时才会发生崩溃.

在我的示例中,错误很容易发现,并且很可能在代码中发现它并不容易.如果您自己找不到,请随时发布您的代码,我会看看它.如果您有任何疑问,请随时发表评论.

总结

以上是内存溢出为你收集整理的ios4 – 尝试设置框架时UIImageView崩溃全部内容,希望文章能够帮你解决ios4 – 尝试设置框架时UIImageView崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1060131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存