我在我的应用中使用PSTCollectionView。一切都完美无缺,直到我将我的PSTCollectionViewController的子类添加到UINavigationController链中。当我点击导航控制器的后退按钮时,应用程序与EXC_BAD_ACCESS (code=1, address=0xc0000010)
P.S。:我使用ARC。 谢谢你的帮助。
#0 0x01592d15 in objc_retain ()
#1 0x00030dde in -[PSTCollectionView setDelegate:] at <project_path>/Controllers/PSTCollectionView/PSTCollectionView.m:1225
#2 0x00725596 in -[UIScrollView dealloc] ()
#3 0x00023805 in -[PSTCollectionView dealloc] at <project_path>/Controllers/PSTCollectionView/PSTCollectionView.m:227
#4 0x01592e3d in _objc_rootRelease ()
#5 0x00718b73 in -[UIView(Hierarchy) removeFromSuperview] ()
#6 0x00728563 in -[UIScrollView removeFromSuperview] ()
#7 0x00714c10 in -[UIView dealloc] ()
#8 0x01592e3d in _objc_rootRelease ()
#9 0x01592e00 in objc_release ()
#10 0x01593c50 in (anonymous namespace)::AutoreleasePoolPage::pop(void*) ()
#11 0x01bf2ea8 in _CFAutoreleasePoolPop ()
#12 0x01bf580b in __CFRunLoopRun ()
#13 0x01bf4d84 in CFRunLoopRunSpecific ()
#14 0x01bf4c9b in CFRunLoopRunInMode ()
#15 0x024867d8 in GSEventRunModal ()
#16 0x0248688a in GSEventRun ()
#17 0x006e2626 in UIApplicationMain ()
#18 0x00001f4d in main at <project_path>main.m:16
#19 0x00001e75 in start ()
答案 0 :(得分:1)
这似乎与ARC有关。我通过更改PSTCollectionView.m来修复它,如下所示:
- (void)setDelegate:(id<PSTCollectionViewDelegate>)delegate {
if( !delegate )
return;
//Rest of the function as normal
}
这对我来说没有多大意义,但它有效。