0
我有一个应用程序,并且必须创建另一个.h和.m文件。这是所以我的下载会有所回落的背景从另一个.m文件调用navcontroller
.h文件中
#import <UIKit/UIKit.h>
@interface AsynchronousImageView : UIImageView
{
NSURLConnection *connection;
NSMutableData *data;
}
- (void)loadImageFromURLString:(NSString *)theUrlString;
@end
而且.m文件
#import "AsynchronousImageView.h"
#import "DxxxAppDelegate.h"
@implementation AsynchronousImageView
- (void)loadImageFromURLString:(NSString *)theUrlString
{
[self.image release], self.image = nil;
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:theUrlString]
cachePolicy:NSURLRequestReturnCacheDataElseLoad
timeoutInterval:30.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
- (void)connection:(NSURLConnection *)theConnection
didReceiveData:(NSData *)incrementalData
{
if (data == nil)
data = [[NSMutableData alloc] initWithCapacity:2048];
[data appendData:incrementalData];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)theConnection
{
self.image = [UIImage imageWithData:data];
[data release], data = nil;
[connection release], connection = nil;
}
- (void)dealloc {
[data release];
[connection release];
[super dealloc];
}
@end
Basicilly,我进口我.h文件中为我的主要xxx.appdelege所以我可以访问一些导航控制器,以便推送视图。
我基本上试图下载一张图片,然后一旦它完成,当下载开始时显示一个视图(加载视图),并移除视图(加载屏幕),并用UIImage推动主视图。
我在网上发现这些文件,他们的工作,但我无法找到我可以做到这一点。任何选项?
我试着让它如此,一旦它开始,我把使用加载一个观点,那么我卸载该屏幕和推动下
[navigationController pushViewController:vFullscreen animated:YES];
有人能帮助我吗?我沿着这条路走了下来,因为NSThread锁定了,因为我试图访问UI的东西。
感谢
当你从后台UI线程工作,你应该叫
谢谢:)我重写代码,看看我是否可以这样做,而不是。 – user370507 2010-06-24 05:02:52