Почему SwiftUI Navigation работает только с экземплярами структур и перечислений? Почему не экземпляры класса?IOS

Программируем под IOS
Ответить
Гость
 Почему SwiftUI Navigation работает только с экземплярами структур и перечислений? Почему не экземпляры класса?

Сообщение Гость »


Сейчас я учусь использовать структуру навигации SwiftUI; в частности, реализация программной навигации с использованием NavigationPath и NavigationDestination. Следующий код компилируется и запускается, но не работает. Когда я нажимаю кнопку, мой DogDetailView не помещается в NavigationStack. Однако если я изменю класс «Dog» на структуру, все будет работать нормально.

класс Dog: Hashable { // вещи, необходимые для того, чтобы класс соответствовал Hashable } // с моей точки зрения Button("Информация о собаке") { let myDog = Dog(...) myNavigationPath.append(myDog) } .navigationDestination(for: Dog.self) {собака в DogDetailView(собака) } Я в некоторой степени новичок в Swift и Swiftui, но ничто в документации Apple не говорит мне о том, что параметр, передаваемый в NavigationPath.append(), должен быть экземпляром структуры или перечисления; единственное ограничение заключается в том, что передаваемый параметр соответствует Hashable. При использовании моего класса Dog он действительно соответствовал Hashable, поэтому, естественно, код компилировался нормально. Что мне не хватает?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»