내 응용 프로그램에서 문서를 다운로드하려면 ASIHttpRequest를 사용하고 있습니다. 다운로드 한 각 문서에 대해 progessbar를 표시하고 있습니다. 문서가 UITableView에 표시되므로 문서 셀마다 별도의 진행 표시 줄이 있습니다. 사용자가 '뒤로'를 클릭 한 후 다시 문서 테이블에 제공 table.When 다음과 같이되어 나는 진행 상황을 표시 할 bar.But이 문서를 다운로드 displayed.The 코드가 아닙니다 :진도 표시 줄의 상태를 유지
- (void)startDownloadingDocumentUsingIndexPath:(NSIndexPath*)indexPath
{
Document *document = [self.objects objectAtIndex:indexPath.row];
self.ip=indexPath;
if(isNetworkAvailable)
{
NSString *str = [NSString stringWithFormat:kBody_convertDocToByte,
document.docCatId,
document.docCatName,
document.docChksum,
document.docLocation,
document.docName,
document.docSize,
document.docType,
document.docUpdated,
document.docUpdatedBy,
document.documentId
];
NSMutableData *data = [NSMutableData dataWithData:[str dataUsingEncoding:NSUTF8StringEncoding]];
self.req = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:kURL]];
self.req.shouldAttemptPersistentConnection = NO;
[self.req setDownloadProgressDelegate:_progress];
self.req.delegate=APP_DEL;
self.req.timeOutSeconds=timeOut;
[self.req setDidFinishSelector:@selector(didFinishDownloadDocument:)];
[self.req setDidFailSelector:@selector(didFailDownloadDocument:)];
[self.req addRequestHeader:@"SOAPAction" value:kAction_convertDocToByte];
[self.req addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"];
[self.req setPostBody:data];
[self.req setRequestMethod:@"POST"];
[self.req setContentLength:[data length]];
self.req.userInfo=[NSDictionary dictionaryWithObjectsAndKeys:document,@"data",self.objCategory.categoryName,@"catname",self,@"vctr", nil];
[[APP_DEL nq] addOperation:self.req];
[[APP_DEL nq] go];
[APP_DEL nq].showAccurateProgress = YES;
}
else {
UIAlertView *av=[[UIAlertView alloc] initWithTitle:@"Message" message:@"Please connect to internet & try downloading/updating document later." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[av show];
}
}
진행 막대의 상태가 유지되도록 코드에서 어떤 변경을해야합니까?
는 편집 : - 표는 실제로 사용자가 '부모'테이블의 '부모'책상에서 코드의 행을 선택 할 때 '아이'table.It가 표시된다 문서는 다음과 같습니다
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.nxt_obj_STMaster2ViewController=[[STMaster2ViewController alloc] initWithNibName:@"STMaster2ViewController" bundle:nil];
self.nxt_obj_STMaster2ViewController.objCategory=[self.objects objectAtIndex:indexPath.row];
self.nxt_obj_STMaster2ViewController.managedObjectContext=self.managedObjectContext;
self.nxt_obj_STMaster2ViewController.detailViewController=self.detailViewController;
self.nxt_obj_STMaster2ViewController.pre_STMasterViewController=self;
[tableView deselectRowAtIndexPath:indexPath animated:NO];
[self.navigationController pushViewController:self.nxt_obj_STMaster2ViewController animated:YES];
}
'아이'문서보기 컨트롤러
있는 viewDidLoad는 다음과 같습니다
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(button_refreshTapped:)];
self.navigationItem.rightBarButtonItem=item;
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"left-background.jpg"]];
[tempImageView setFrame:self.tableView.frame];
[self.tableView setBackgroundColor:[UIColor clearColor]];
self.tableView.backgroundView = tempImageView;
[self startLoadingData:self.detailViewController.liveData];
}
문서 테이블에있는 뷰 컨트롤러를 표시하기 위해 사용하는 코드를 보여주십시오 당신은 아마에 대한 참조를 유지해야합니다. 뷰 컨트롤러. – lnafziger
@Inafziger : - 더 많은 코드로 질문을 편집했습니다. – user1550951