#ios #swift #swiftui
Вопрос:
Я задавался вопросом, как проверить, какие @Binding и @StateObject в uiviewпредставляемом действительно изменились при вызове updateUIView?
Я внедряю MKMapView и не хочу постоянно обновлять аннотации, только когда этот объект состояния изменился.
Так что я бы с удовольствием сделал что-нибудь подобное:
struct MapView: UIViewRepresentable
{
@ObservedObject var annotations:MyAnnotations
@ObservedObject var region:MKCoordinateRegion
func updateUIView(_ view: MKMapView, context: Context)
{
if annotations.changed == true
{
// ... update annotations
}
if (region.changed == true
{
// ... update region
}
}
}
Постоянное обновление аннотаций создает небольшую помеху для рендеринга, которой я хотел бы избежать. Это, вероятно, довольно общие вопросы о представлениях UIView, предназначенных для использования для оптимизированного обновления.
Комментарии:
1. Я провел последние несколько часов, задаваясь одним и тем же вопросом: тебе удалось это выяснить?