为什么不在我的NSURLProtocol子类中调用startLoading?

时间:2014-03-13 18:43:49

标签: ios nsurlprotocol

我正在查看NSURLProtocol,并尝试插入一些标题。

- (void)startLoading {
    NSMutableURLRequest *newRequest = [self.request mutableCopy];
    [NSURLProtocol setProperty:@YES forKey:kAccessCodeProtocolKey inRequest:newRequest];
    self.connection = [NSURLConnection connectionWithRequest:self.request delegate:self];
}

但我的startLoading永远不会被称为

3 个答案:

答案 0 :(得分:1)

我有一种感觉你没有去过深度搜索,无论如何添加标题使用以下代码段

NSURL *URL = [NSURL URLWithString:@"http://example.com/..."];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:30.0];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

答案 1 :(得分:1)

你实现了canInitWithRequest :?它会返回YES吗?如果没有,则永远不会调用startLoading。

答案 2 :(得分:0)

您通常会使用NSURL实例初始化它,NSMutableURLRequest会为您提供

- (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field

方法,以便您可以这样设置标题