Telegram Group & Telegram Channel
😭 Баг или фича

Неоднозначное поведение, которое воспроизводится в Xcode 14.2, и вероятно/возможно/сомнительно не воспроизводится в Xcode 14.3

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

Теперь чуть подробнее.

1⃣ Пример. Обычная структура с одним аргументом-замыканием в инициализаторе. if let value обращается к локальному для функции value, которое не является опционалом. Все окей, все логично, показана ошибка.

2⃣ Пример. Структура из SwiftUI (из-за чего собственно и произошел затык). HStack с замыканием, но в этом случае ошибки нет, так как value обращается не к локальному для функции параметру, а к опциональному value - свойству самого объекта SomeStruct.

Почему? я хз)

3⃣ Пример. Пришла идея, что проблема может быть связана с использованием resultBuilder, так как замыкание, передаваемое в HStack - это ViewBuilder, который является resultBuilder. Попробовал воспроизвести - воспроизводится. Причина в этом.

Почему? хз) Но интересно.

🥂Ниже файл с проектом.
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/ios_appdev/122
Create:
Last Update:

😭 Баг или фича

Неоднозначное поведение, которое воспроизводится в Xcode 14.2, и вероятно/возможно/сомнительно не воспроизводится в Xcode 14.3

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

Теперь чуть подробнее.

1⃣ Пример. Обычная структура с одним аргументом-замыканием в инициализаторе. if let value обращается к локальному для функции value, которое не является опционалом. Все окей, все логично, показана ошибка.

2⃣ Пример. Структура из SwiftUI (из-за чего собственно и произошел затык). HStack с замыканием, но в этом случае ошибки нет, так как value обращается не к локальному для функции параметру, а к опциональному value - свойству самого объекта SomeStruct.

Почему? я хз)

3⃣ Пример. Пришла идея, что проблема может быть связана с использованием resultBuilder, так как замыкание, передаваемое в HStack - это ViewBuilder, который является resultBuilder. Попробовал воспроизвести - воспроизводится. Причина в этом.

Почему? хз) Но интересно.

🥂Ниже файл с проектом.

BY Мобильный кот




Share with your friend now:
tg-me.com/ios_appdev/122

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

telegram from sa


Telegram Мобильный кот
FROM USA