айфон жди метода обратного звонка - PullRequest
0 голосов
/ 24 января 2012

Я вызываю метод веб-службы с использованием кода sudzc, и у него есть обработчик обратного вызова, который вызывается при получении ответа.

Моя проблема в том, что у меня есть служебный класс, в котором есть метод, который вызываетсервис.Этот метод вызывается из класса контроллера представления и селектора в фоновом режиме.

В служебном методе у меня есть цикл for, в котором записана логика вызова службы, в этом я хочу подождать, чтобы получить следующую запись доЯ получаю метод обратного вызова и результат получен.Я поставил do некоторое время, но он не работает, чтобы проверить состояние флага, который я установил после вызова веб-службы, а затем установить флаг false в методе обратного вызова для извлечения следующей строки.

Вызов этогоиз контроллера представления с помощью кода ниже:

FTPHelper *ftphelper= [[FTPHelper alloc]init];
[ftphelper performSelectorInBackground:@selector(FtpFilesAsyn) withObject:nil];

Теперь в служебном классе я создаю независимый статический поток:

if(myThread ==nil)
{
   myThread=[[NSThread alloc] initWithTarget:self selector:@selector(SendFtpFile) object:nil];
}
[myThread start];

в вызове метода в селекторе:

for (Employee *emp in empList) 
 {
   do {   
                    if(isSendingFl==YES)
                    {

//webserivce call here,

WebService *service=[WebService service];

[service SendFile:self action:@selector(FtpFileHandler:) imagefileStream:outputData filename: ftpFileName];
isSendingFl=YES;
}

   } while (isSendingFl);

}

- (void) FtpFileHandler: (id) value {

 NSString* result = (NSString*)value;
    isSendingFl=NO;
    NSLog(@"FtpFile returned the value: %@", result);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...