значок intellij по файлам проекта

Вы можете использовать группы отправки для запуска асинхронного обратного вызова, когда все ваши запросы завершатся.

Вот пример в Swift 4.1 (также работает в Swift 3), используя группы отправки выполняйте обратный вызов асинхронно, когда все сетевые запросы завершены.

override func viewDidLoad() {
    super.viewDidLoad()

    let myGroup = DispatchGroup()

    for i in 0 ..< 5 {
        myGroup.enter()

        Alamofire.request("https://httpbin.org/get", parameters: ["foo": "bar"]).responseJSON { response in
            print("Finished request \(i)")
            myGroup.leave()
        }
    }

    myGroup.notify(queue: .main) {
        print("Finished all requests.")
    }
}

Выход

Finished request 1
Finished request 0
Finished request 2
Finished request 3
Finished request 4
Finished all requests.

Для тех, кто использует более ранний Swift 2.3, вот пример, используя его синтаксис :

override func viewDidLoad() {
    super.viewDidLoad()

    let myGroup = dispatch_group_create()

    for i in 0 ..< 5 {
        dispatch_group_enter(myGroup)
        Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]).responseJSON { response in
            print("Finished request \(i)")
            dispatch_group_leave(self.myGroup)
        }
    }

    dispatch_group_notify(myGroup, dispatch_get_main_queue(), {
        print("Finished all requests.")
    })
}

28
задан Shaun Hare 28 April 2010 в 09:47
поделиться

3 ответа

Это означает, что эти файлы не являются частью настроек проекта. Как вы создали этот проект?

Я не уверен, какую версию IntelliJ вы используете - я использую 9.0.1. Я бы рекомендовал открыть структуру проекта (значок справа от "гаечного ключа" или Ctrl+Alt+Shift+S), нажать на "Modules" и обозначить каталог, в котором находятся файлы .java, как исходный каталог (он изменится на синий цвет).

41
ответ дан 28 November 2019 в 03:22
поделиться

Для тех, у кого есть эта проблема с Android Studio. Попробуйте следующее:

1) Перейдите к настройкам своего проекта

2) Перейдите в Модули -> и на вкладке опций модуля выберите «Источники» - должна быть опция «Добавить контент» Root "и под ним, синие, зеленые и красные вкладки папок для исходных папок, тестовых исходных папок и исключенных папок соответственно.

3) Справа щелкните правой кнопкой мыши папку исходного кода Java, которую вы хотите добавить, и выберите, чтобы добавить ее в Источник или Тесты (в зависимости от того, какие файлы вы добавляете).

4) Добавленные файлы теперь должны отображаться с синим кружком с буквой С в центре на левой панели окна проекта.

5
ответ дан ZenBalance 28 November 2019 в 03:22
поделиться

Для проектов Maven:

В моем случае мне пришлось импортировать проект через Maven. Некоторые модули отсутствовали (они не были указаны в корневом разделе), поэтому добавление их в виде проектов maven решило проблему.

щелкните значок «плюс» в правом меню Maven, а затем добавьте проект. Это автоматически импортировало все источники / структуру.

0
ответ дан BLuEGoD 28 November 2019 в 03:22
поделиться