Я пытаюсь получить список файлов каталога с моего ftp-сервера, используя библиотеку Chilkat.
В этом случае я хочу анимировать UIActivityIndicatorView, когда процесс выполняется. Но проблема в том, что UIActivityIndicatorView никогда не начинает анимироваться. Код, который я использую:
[self.activityIndicator startAnimating];
[selfgetListFromPath:ftpPath withConnection:ftpConnect];
[self.activityIndicator stopAnimating];
activityIndicator - это объект UIActivityIndicatorView
, ftpPath
- это NSString моего пути к файлу на FTP-сервере, а getListFromPath
- это метод получения списка с FTP-сервера с использованием алгоритма Chilkat, ftpConnect
- это объект Класс FTP-соединения.
Я пытался использовать NSRunLoop до вызова функции getListFromPath
, поэтому я изменил свой код на:
[self.activityIndicator startAnimating];
BOOL waitingOnProcessing = YES;
NSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop];
while (waitingOnProcessing && [currentRunLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
}
[self getListFromPath:ftpPath withConnection:ftpConnect];
[self.activityIndicator stopAnimating];
это делает анимацию activityIndicator
, но getListFromPath
никогда не срабатывает. После испытания я решил снова изменить свой код на:
[self.activityIndicator startAnimating];
BOOL waitingOnProcessing = YES;
NSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop];
while (waitingOnProcessing && [currentRunLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
waitingOnProcessing = NO;
}
[self getListFromPath:ftpPath withConnection:ftpConnect];
[self.activityIndicator stopAnimating];
делает анимацию activityIndicator
, а также запускает функцию getListFromPath
. Но я сомневаюсь с этим кодом, я прав с этим кодом? или, может быть, есть плохая практика для использования NSRunLoop?
может кто-нибудь сказать мне
Спасибо