Новое в iOS 10, Таймер имеет инициализатор блока , который выполняется в основном потоке. Это также немного более гибко, потому что вы можете взять ссылку на Таймер и отменить его или перенести его по факту.
let timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: false) {_ in
}
Я бы предложил использовать FindFirstFile () и FindNextFile () .
пример кода:
HANDLE hFind;
WIN32_FIND_DATA FindFileData;
if((hFind = FindFirstFile("C:/some/folder/*.txt", &FindFileData)) != INVALID_HANDLE_VALUE){
do{
printf("%s\n", FindFileData.cFileName);
}while(FindNextFile(hFind, &FindFileData));
FindClose(hFind);
}
Это действительно лучше, потому что я может использовать "* .txt" и т.д., что значительно упрощает поиск некоторых конкретных типов файлов, раньше мне приходилось писать для этого собственную функцию сопоставления: D