Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 释放视图时代理崩溃,因为找不到_Iphone_Objective C_Ios_Ipad - Fatal编程技术网

Iphone 释放视图时代理崩溃,因为找不到

Iphone 释放视图时代理崩溃,因为找不到,iphone,objective-c,ios,ipad,Iphone,Objective C,Ios,Ipad,我的下一个问题是,当按下一个按钮时,我将创建一个视图。创建并加载视图时,我向ASIFormDataRequest发出2个请求,一个请求下载一个图像,另一个请求获取一些文本 当用户在加载的视图中选择“后退”时,会出现头痛的问题,因为如果按下“后退”按钮,视图将从superview中删除,但是如果有一个请求回调,并且视图不存在,则会发生崩溃。我如何才能这样做,例如取消请求,或者如何修复该问题 崩溃在下一行代码中 类别:ASIHTTPRequest.m BOOL dataWillBeHandl

我的下一个问题是,当按下一个按钮时,我将创建一个视图。创建并加载视图时,我向ASIFormDataRequest发出2个请求,一个请求下载一个图像,另一个请求获取一些文本

当用户在加载的视图中选择“后退”时,会出现头痛的问题,因为如果按下“后退”按钮,视图将从superview中删除,但是如果有一个请求回调,并且视图不存在,则会发生崩溃。我如何才能这样做,例如取消请求,或者如何修复该问题

崩溃在下一行代码中

类别:ASIHTTPRequest.m

    BOOL dataWillBeHandledExternally = NO;
    **if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {**
        dataWillBeHandledExternally = YES;
    }
@try {
        if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {
            dataWillBeHandledExternally = YES;
        }
    }
    @catch (NSException *exception) {
        dataWillBeHandledExternally = NO;
    }
With:Thread 6:EXC_BAD_ACCES code=1,address=0x30047dbc


请见鬼去吧。

您想确保在弹出视图时取消任何挂起的ASITPPREQUEST: 发件人:


要确保在弹出视图时取消任何挂起的ASIHTTPRequest: 发件人:


你可以用try-catch。下面是你在ASIHTTPRequest.m中可以做的事情

    BOOL dataWillBeHandledExternally = NO;
    **if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {**
        dataWillBeHandledExternally = YES;
    }
@try {
        if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {
            dataWillBeHandledExternally = YES;
        }
    }
    @catch (NSException *exception) {
        dataWillBeHandledExternally = NO;
    }

你可以用try-catch。下面是你在ASIHTTPRequest.m中可以做的事情

    BOOL dataWillBeHandledExternally = NO;
    **if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {**
        dataWillBeHandledExternally = YES;
    }
@try {
        if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {
            dataWillBeHandledExternally = YES;
        }
    }
    @catch (NSException *exception) {
        dataWillBeHandledExternally = NO;
    }

我的上帝非常感谢@ckhan非常感谢你解决了我的问题。我的上帝非常感谢@ckhan非常感谢你解决了我的问题。