Приложение Maui выдает ошибку UITableView после перехода на определенные страницыIOS

Программируем под IOS
Ответить
Anonymous
 Приложение Maui выдает ошибку UITableView после перехода на определенные страницы

Сообщение Anonymous »

В настоящее время я разрабатываю приложение MAUI для Android и iOS. При развертывании приложения на устройстве iOS (независимо от того, симулятор это или реальное устройство) в моем приложении есть несколько страниц контента, при переходе к которым выдается следующая ошибка:
Изображение

Поиск в Google этой проблемы привел меня к выводу, что ошибка возникает при попытке асинхронно заполнить или обновить представления, которые еще не были нарисованы. Честно говоря, я пытался загрузить данные в событии Appearing на своих страницах, но уже это исправил. Взгляните на следующий пример.
Это пример страницы StockkingView и ее модели представления, которая выдает ошибку: А это модель представления:

Код: Выделить всё

[QueryProperty("Stocktakings_list", "stocktakings")]
public partial class StocktakingViewModel : BaseViewModel
{
private readonly IUserDialogs _userDialogs;
private readonly IGenericService _stocktakingService;

[ObservableProperty]
List stocktakings_list;

[ObservableProperty]
ObservableCollection stocktakings;

public StocktakingViewModel(IUserDialogs userDialogs, IGenericService stocktakingService)
{
_userDialogs = userDialogs;
_stocktakingService = stocktakingService;
}

[RelayCommand]
private void OnAppearing()
{
Stocktakings = new ObservableCollection(Stocktakings_list);
}
...

Код: Выделить всё

Stocktakings
— это список объектов, которые загружаются по HTTP-запросу при нажатии на изображение на предыдущей странице. Это происходит перед переходом на страницу инвентаризации. Затем список передается в качестве параметра StockkingView.

Код: Выделить всё

private async Task NavigateToStocktaking()
{
List stocktakings = await _stocktakingService.GetAll();

Dictionary param = new Dictionary
{
{ "stocktakings", stocktakings }
};

await Shell.Current.GoToAsync(nameof(StocktakingView), param);
}
В моем приложении есть и другие страницы, на которых также есть представления коллекций и которые не выдают никаких ошибок. Эти представления также заполняются данными перед переходом на страницу. По сути, нет никакой разницы между этими страницами и ошибочными страницами, но они не выдают никаких ошибок.
Что я уже пробовал:
  • Поместите представление коллекции в сетку.
  • Измените представление коллекции на представление списка.
  • Полностью избавьтесь от представления коллекции, чтобы нечего было рисовать
  • Полностью избавиться от события OnAppearing
Сейчас я занимаюсь разработкой с помощью Visual Studio 17.9.2 на ПК с Windows. Я подключен к своему Mac, на котором установлен XCode 15.2. Я также использую набор инструментов Community MVVM.

Подробнее здесь: https://stackoverflow.com/questions/785 ... tain-pages
Ответить

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

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

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

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

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