我有一个iPhone SDK应用程序,有几个视图出现和消失用户创build内容。 在设备上使用应用程序一段时间后,我得到以下的崩溃: Program received signal: “EXC_BAD_ACCESS”. (gdb) backtrace #0 0x33369ebc in objc_msgSend () #1 0x320e5248 in -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded] () #2 0x338b4a14 in -[NSObject performSelector:withObject:] () #3 0x320e5098 in -[UIAnimator stopAnimation:] () #4 0x320e4b7c in -[UIAnimator(Static) _advance:] () #5 0x320e4a34 in LCDHeartbeatCallback () #6 0x34350e60 in HeartbeatVBLCallback () #7 0x332e91c0 in IOMobileFramebufferNotifyFunc () #8 0x316532f8 […]
我想弄清楚为什么即时通讯崩溃在我的应用程序。 它在ios5.1模拟器中运行的Xcode 4.4中工作得很好,但是当我切换到xcode 4.5和ios6时,我得到了一个EXC_BAD_ACCESS代码2.这是我的代码: – (void) myMethod { UIAlertView *alertview = [[[UIAlertView alloc]initWithTitle:@"Title" message:@"message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil] autorelease]; alertview.tag = 1 [alertview show]; } 这是给我一个EXC_BAD_ACCESS代码2在[UIAlertView show]行 有任何想法吗? 谢谢!
UIViewController将自己添加到默认中心: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(editFood) name:@"editFood" object:nil]; 然后一个UITableView委托NSObject发布一个NSNotification : [[NSNotificationCenter defaultCenter] postNotificationName:@"editFood" object:self]; 在运行期间,它会得到一个EXC_BAD_ACCESSexception。 defaultCenter是否在某处被释放? 当我从UIViewController发布通知给UIViewController的时候,这个概念是可行的,但是这不应该有问题,对吧?
我的程序从左到右显示一个用UIImageViews平铺的水平滚动表面。 代码在UI线程上运行,以确保新显示的UIImageView具有分配给它们的新鲜加载的UIImage。 加载发生在后台线程上。 一切工作几乎没有问题,除了有一个口吃每个图像变得可见。 起初我以为我的后台工作人员在UI线程中locking了一些东西。 我花了很多时间看它,并最终意识到,UIImage在UI线程上进行一些额外的惰性处理时,它首先变得可见。 这让我很困惑,因为我的工作线程有明确的代码来解压缩JPEG数据。 无论如何,在预感上,我写了一些代码在后台线程中渲染成一个临时的graphics上下文,果然,口吃消失了。 UIImage现在被预先加载在我的工作线程上。 到现在为止还挺好。 问题是我的新的“强制延迟加载图像”方法是不可靠的。 它会导致间歇性的EXC_BAD_ACCESS。 我不知道UIImage究竟在幕后做了些什么。 也许是解压缩JPEG数据。 无论如何,这个方法是: + (void)forceLazyLoadOfImage: (UIImage*)image { CGImageRef imgRef = image.CGImage; CGFloat currentWidth = CGImageGetWidth(imgRef); CGFloat currentHeight = CGImageGetHeight(imgRef); CGRect bounds = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); CGAffineTransform transform = CGAffineTransformIdentity; CGFloat scaleRatioX = bounds.size.width / currentWidth; CGFloat scaleRatioY = bounds.size.height / currentHeight; UIGraphicsBeginImageContext(bounds.size); […]