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