Xcode 为什么不调用我的NSURLConnection委托方法?

Xcode 为什么不调用我的NSURLConnection委托方法?,xcode,multithreading,nsurlconnection,delegation,Xcode,Multithreading,Nsurlconnection,Delegation,我完全按照指示做了。我为测试目的创建了一个控制台项目。然后我创建了一个名为RequestSender的类,请参见下面的代码,我在主函数中创建了这个类的一个实例 RequestSender.h: #import <Foundation/Foundation.h> @interface RequestSender : NSObject <NSURLConnectionDelegate> { NSMutableData* d; } @end 这无疑将在主线程和默认运行

我完全按照指示做了。我为测试目的创建了一个控制台项目。然后我创建了一个名为RequestSender的类,请参见下面的代码,我在主函数中创建了这个类的一个实例

RequestSender.h:

#import <Foundation/Foundation.h>
@interface RequestSender : NSObject <NSURLConnectionDelegate> {
    NSMutableData* d;
}
@end
这无疑将在主线程和默认运行循环中执行。但是,调用的是非委托方法

我做了很多测试,读了很多帖子,但我还是没有一点线索

请帮帮我。这让我快发疯了。
塔克斯

我相信你错过了开始连接的部分。connection类为此提供了另一种方法,或者您可以直接从c对象中调用它

NSURLConnection* c = [[NSURLConnection alloc] initWithRequest:r delegate:self];
if (c) {
    d = [NSMutableData data];
    [c start];
}


我相信你错过了开始连接的部分。connection类为此提供了另一种方法,或者您可以直接从c对象中调用它

NSURLConnection* c = [[NSURLConnection alloc] initWithRequest:r delegate:self];
if (c) {
    d = [NSMutableData data];
    [c start];
}


你的代码看起来不错。你怎么称呼它?它是如何嵌入到你的应用程序中的?你的代码绝对正确。检查self是否为空?@Code:它还不在我的应用程序中。我创建了一个控制台项目来测试它。上面列出了所有文件。唯一的额外代码在主函数中,类似于RequestSender*rs=[[RequestSender alloc]init];。我在每个委派方法上都添加了断点,但没有一个被捕获。@PrasadG:你认为这与我使用控制台项目有关吗?@Jack Jiang:是的。如果self为nil,则无法调用委托方法。您的代码看起来很正常。你怎么称呼它?它是如何嵌入到你的应用程序中的?你的代码绝对正确。检查self是否为空?@Code:它还不在我的应用程序中。我创建了一个控制台项目来测试它。上面列出了所有文件。唯一的额外代码在主函数中,类似于RequestSender*rs=[[RequestSender alloc]init];。我在每个委派方法上都添加了断点,但没有一个被捕获。@PrasadG:你认为这与我使用控制台项目有关吗?@Jack Jiang:是的。如果self为nil,则无法调用委托方法。而且,哇,我没意识到这个问题有那么老。我希望你能够修复它,而不是仍然在等待答案!还有,哇,我没意识到这个问题有那么老。我希望你能够修复它,而不是仍然在等待答案!
NSURLConnection* c = [[NSURLConnection alloc] initWithRequest:r delegate:self startImmediately:YES];
if (c) {
    d = [NSMutableData data];
}