Ошибка Форматирования Блоков Swift В Xcode

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

Но есть с этими блоками один нюанс, который очень раздражает: в Xcode форматирование кода по отношению к ним работает не совсем корректно, точнее, страдает отступ.

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

В данном случае хорошо работает самое простое и типичное форматирование:

  
  
   

DispatchQueue.main.async { // ok } DispatchQueue.main.async(execute: { // ok })

Но как только выносишь указание параметра на отдельную строку, начинается дискотека:

DispatchQueue.main.async( execute: { // wrong } )

Однако если добавить захват, то все работает нормально:

DispatchQueue.main.async( execute: { [weak self] in // ok } ) DispatchQueue.main.async( execute: { [unowned self] in // ok } )

Я написал в Apple о проблеме, и вроде они о ней давно знают. Здесь мне приходится использовать захват только для того, чтобы сохранить форматирование.

К сожалению, кроме решения основной проблемы, этот метод порождает еще одну проблему – предупреждения что себя не используется внутри блока.

Но лично мне с таким проще смириться предупреждения чем наблюдать сломанные углубления.

Если кто-то не знал и кому-то заметка будет полезна, то хорошо.

Если кто-нибудь знает, как описанную проблему можно решить более кратко, буду рад узнать.

Теги: #разработка для iOS #Swift #разработка для iOS #Swift

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.