我需要从视图控制器更新进度条让我们调用它位于视图控制器B中,当我从B启动NSULRCONNECTION时将完成更新,这将访问视图控制器中定义的方法DidSendBodyData
在这种方法中,有一个应该更新的进度条,这是我在视图控制器B中的代码:
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
UINavigationController * myStoryboardInitialViewController = [storyboard instantiateInitialViewController];
HomeViewController *rootViewController = [myStoryboardInitialViewController.viewControllers objectAtIndex:0];
NSURLConnection * connection = [[NSURLConnection alloc]
initWithRequest:request
delegate:rootViewController startImmediately:NO];
这是B类中定义的代码,我需要引用查看控制器A,这里是rootViewController
但是上面做的是不正确的,因为它创建了视图控制器的另一个对象而没有使用现有的对象,这意味着将创建和更新新的进度条,这不是我想要的,我需要更新现有的在视图控制器A中
这是我在视图控制器A中的代码:
-(void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite{
(float)totalBytesWritten ,(float)totalBytesExpectedToWrite);
[progress setProgress:((float)(totalBytesWritten))/totalBytesExpectedToWrite];
}
建立连接时,在视图控制器A中调用方法didsendBodyData
,并且应更新进度条。
如何在不创建新视图控制器的情况下获得对控制器A的引用?!
提前感谢您的帮助。