代码在IBAction中运行,但在viewDidLoad中不运行

时间:2014-08-29 05:37:54

标签: objective-c uiviewcontroller xcode4 protocols nsurlsessiondownloadtask

以下是思考,我得到了MasterViewController UIViewController,这得到了一个协议<NSURLSessionDelegate>,我有一些代码在{{1}完全正常运行}

代码......

IBAction

但我真正需要的是以- (IBAction)testing:(id)sender { DataWeb *fdi = [self.arrIniFile objectAtIndex:0]; //array with some object fdi.downloadTask = [self.session downloadTaskWithURL:[NSURL URLWithString:fdi.downloadSource]]; fdi.taskIdentifier = fdi.downloadTask.taskIdentifier; [fdi.downloadTask resume]; } 这种方式运行代码......

viewDidLoad

这是因为,当- (void)viewDidLoad { [super viewDidLoad]; //Need to run this code here DataWeb *fdi = [self.arrIniFile objectAtIndex:0]; //array with some object fdi.downloadTask = [self.session downloadTaskWithURL:[NSURL URLWithString:fdi.downloadSource]]; fdi.taskIdentifier = fdi.downloadTask.taskIdentifier; [fdi.downloadTask resume]; NSArray *URLs = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; self.docDirectoryURL = [URLs objectAtIndex:0]; NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.myApp"]; sessionConfiguration.HTTPMaximumConnectionsPerHost = 5; self.session = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:self delegateQueue:nil]; } 完成加载文件viewDidLoad(并且此对象具有NSString属性[self.arrIniFile objectAtIndex:0])时,我需要文件开始下载并在后台完成,没有任何用户的互动。

接口文件(h)有此标题 fdi.downloadSource 我使用这个协议方法

@interface MasterViewController : UIViewController <NSURLSessionDelegate>

但是当我使用viewDidLoad时,该代码永远不会被激活,在IBAction中jus,我需要它在viewDidLoad中。我试着尽可能清楚地解释,希望有人给我任何建议。提前致谢。

0 个答案:

没有答案