sim*_*nbs 3 iphone connection sdk asynchronous nsurlconnection
我有一个NSURLConnection,我每次-(void)viewWillAppear:animated都调用它(这只是现在,它仅用于测试)
我是这样做的
receivedData = [[NSMutableData data] retain];
NSString *urlString = @"<URL hidden>";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30.0];
[NSURLConnection connectionWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)
然后我有这三个委托方法:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[receivedData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *returnString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
usersPhotos = [[NSMutableArray alloc] initWithArray:[[returnString JSONValue] objectForKey:@"data"]];
[self loadAnnotations];
NSLog(@"%@", returnString);
[returnString release];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
[self loadAnnotations];
}
Run Code Online (Sandbox Code Playgroud)
即使我确定returnString应该改变(我可以访问该网站urlString并确认它已经改变)它总是一样的.
就好像它重用了从第一个连接中检索的数据.
有人知道为什么吗?
它应该是您的缓存策略,我将在一秒钟内使用正确的信息进行更新.
UPDATE
尝试将您的cahce政策设置为: cachePolicy:NSURLRequestReloadIgnoringCacheData
它应该是:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2736 次 |
| 最近记录: |