Ios 推送视图控制器会使应用程序崩溃

Ios 推送视图控制器会使应用程序崩溃,ios,uinavigationcontroller,automatic-ref-counting,Ios,Uinavigationcontroller,Automatic Ref Counting,下面是一个场景:我正在使用MWPhotoBrowser。我能把它推好一次。第二次尝试推送时,应用程序崩溃,没有任何帮助。这是一个ARC项目,同样的代码在以前版本的应用程序中运行良好。我目瞪口呆 -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { selectedIndexPath = indexPath; if(br

下面是一个场景:我正在使用MWPhotoBrowser。我能把它推好一次。第二次尝试推送时,应用程序崩溃,没有任何帮助。这是一个ARC项目,同样的代码在以前版本的应用程序中运行良好。我目瞪口呆

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    selectedIndexPath = indexPath;
    if(browser == nil)
    {
        browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
    }

    // Set options
    browser.displayActionButton = YES; // Show action button to allow sharing, copying, etc (defaults to YES)
    browser.displayNavArrows = YES; // Whether to display left and right nav arrows on toolbar (defaults to NO)
    browser.zoomPhotosToFill = NO; // Images that almost fill the screen will be initially zoomed to fill (defaults to YES)
    [browser setCurrentPhotoIndex:indexPath.row]; // Example: allows second image to be presented first
    //browser.wantsFullScreenLayout = YES; // iOS 5 & 6 only: Decide if you want the photo browser full screen, i.e. whether the status bar is affected (defaults to YES)
    // Present
    [self.navigationController pushViewController:browser animated:YES];
}
轻触单元格一次,浏览器将正常打开。返回,再次点击单元格,应用程序仅在调试器中崩溃,但没有调用堆栈或错误原因:

(lldb):
browser是一个强大的成员变量。它不会过早地被解除分配。我还可以保证它正好在方法的最后一行崩溃


有人能告诉我这件事吗?如果应用程序至少给了我一个崩溃的原因,而不仅仅是把调试器扔到我脸上,我会解决它。

我已经广泛使用MWPhotoBrowser,并且曾经遇到过同样的问题。我解决这个问题的方法是检查MWPhoto对象,看看它们是否真的设置正确。我意识到我并没有创造出其中的一些,因此崩溃了。我会检查你存放照片的地方,确保它们都已设置好。希望这有帮助

它在哪里坠毁?怎么了?查看是否需要。您必须在调试器中键入命令。我将以
bt
开始回溯。@rmaddy:正如我在问题描述中所说的,它在方法的最后一行崩溃了,也正如我所描述的,它没有给我崩溃的原因,只是给我调试器。
browser
是否可能不是
nil
,而是指向
MWPhotoBrowser
的解除分配实例?@rmaddy看起来你是对的。我摆脱了零支票,它现在似乎运行良好。。。也许我应该回到MRC…如果你能提供更多的代码,我可以告诉你问题所在!嗨,加布里埃尔。如果你检查我的代码,你会看到我有一个检查,看看照片浏览器是否为零。删除检查似乎可以解决问题,但我认为这必然会导致内存泄漏。