0
2 셀 섹션이있는 정적 셀이 있습니다. 한 섹션에는 2 개의 행이 있고 다른 섹션에는 단일 행이 있습니다. 첫 번째 섹션의 셀 중 하나가 최대 1 분이 걸릴 수있는 작업을 수행합니다 (데이터베이스에서 많은 양의 데이터를 해독 한 다음 다시 암호화 함)tableview 정적 셀 동적 바닥 글
작업이 진행 중이며 멈추지 않았 음을 사용자에게 알리기 위해, 나는 다음과 같은 작업을 수행 할 시도하고 :.
문제가 (아래 내 실제 코드의 의사입니다) :doStuff
에 footerString
이 표시되지 않는
그러나 callDoStuff
의 하나가 잘 표시됩니다 .. 어떤 아이디어가 잘못 되었나요?
- (void) doStuff
{
for (int i=0; i<[resultsArray count]; i++)
{
rec1 = [decrypt record1];
footerString = [@"Preparing item : " stringByAppendingString:rec1];
[self.tableView reload];
rec2 = [decrypt record2];
...
...
...
rec10 = [decrypt record10];
}
}
doStuff
가 다른 함수에서 호출되어
- (void) callDoStuff
{
[self doStuff];
footerString = @"Done preparing items";
[self.tableView reload];
}
나는 배경 스레드에서 내 tableviewcontroller
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
if (section == 0)
return footerString;
else
return @"";
}
감사합니다. 오늘 밤 시도하고 그것이 작동하는 경우 답변을 표시합니다! – rkh
큰 작업이 끝나면 다른 콜백을 추가 한 다음 테이블을 다시로드해야합니다. – AncAinu
잘 작동하지만 문제는'doStuff'가 끝날 때까지 기다리지 않고 계속 실행된다는 것입니다 ... 이것은 내 목적에 문제가 있습니다 ... 어쨌든'doStuff' 실행이 끝날 때까지 기다려야합니까? – rkh