【发布时间】:2015-04-01 19:41:57
【问题描述】:
我有一个方法可以启动 NSURLConnetion 来读取 IP 地址并在连接完成加载后返回 IP:
- (NSString *)getHansIP
{
self.returnData = [[NSMutableData alloc] init];
NSMutableURLRequest *getIpRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://example.com"]];
[getIpRequest setHTTPMethod:@"GET"];
NSURLConnection *ipconn = [NSURLConnection connectionWithRequest:getIpRequest delegate:self];
[ipconn start];
return self.ipString;
}
问题在于,当连接尚未完成加载时,objective-c 会尝试返回 IP 地址 (ipString)。我知道有一种简单的方法可以修复它,但是通过这种方式,NSURLConnectionDelegate 方法不会被执行,我需要didReceiveAuthenticationChallenge 方法和canAuthenticateAgainstProtectionSpace 方法。
附言希望你能理解我糟糕的学校英语:P
【问题讨论】:
标签: ios objective-c nsurlconnection nsurlconnectiondelegate