我正在使用下面列出的 NSURLConnection。关于这门课,我有三个问题。当我连接 url 值时,调试器会点击此行两次,但不会点击它上面的行:
if (theConnection){
我第二次得到 EXC_BAD_ACCESS。使用第一个 url 分配(注释掉)工作正常。
1.) 有什么区别?
- (void)applicationDidFinishLaunching:(UIApplication *)application {
//NSString *url = @"http://www.abc.com/afile.mp4";
NSString *temp = @"afile.mp4";
NSString *url = [@"http://www.abc.com/" stringByAppendingString:temp];
theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
[url release];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
receivedData=[[NSMutableData data] retain];
}
2.) 如果我将文件名更改为 afile.mp,则请求通过并且 [receivedData length] 的值约为 1600 时
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
被击中。有没有办法准确检查 receivedData 是否具有您请求的实际数据。目标文件约为 7MB,但可以从 1.5MB 到 9MB 不等。我请求的资源不存在,但有什么表明吗?
3.)我在我的应用程序委托中这样做。唯一的协议是 UIApplicationDelegate。如果没有委托,所有 NSURLConnection 方法如何工作?