c# - ObjCRuntime.RuntimeException:无法编组 Objective-C(类型:Xamarin_Forms_Platform_iOS_HeaderWrapperView)
问题描述
谢谢,
完全错误: ObjCRuntime.RuntimeException:无法编组 Objective-C 对象 0x7fc8fc575d30(类型:Xamarin_Forms_Platform_iOS_HeaderWrapperView)。找不到此对象的现有托管实例,也无法创建新的托管实例(因为类型“Xamarin.Forms.Platform.iOS.HeaderWrapperView”没有采用一个 IntPtr 参数的构造函数)
我有一个从 API 异步加载数据的详细信息页面,数据检索可能需要大量时间,具体取决于数据的大小。检索到的数据通过绑定加载到列表视图中。列表视图具有分组并定义了组模板。当数据在后台线程中加载时,用户可以执行其他操作 - 这是每个设计。
页面之间的切换更容易,因为主页面是一个拆分视图,左侧是一个可选列表,右侧是我们刚刚讨论过的页面,右侧是选定项目详细信息页面。
问题是当用户在异步加载数据时选择左侧的其他项目时,现在会显示新页面,而前一页面将处于破坏或过时的边缘。在此事件期间,从端点检索前一页数据 - 绑定在当前不可用的前一页上启动。这以某种方式导致应用程序因以下错误而间歇性崩溃。
不知道为什么,错误堆栈显示错误从组标头中创建的元素开始,例如Image/ActivityIndi cator .. 如下所示:
Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].UpdateParentPageAccessibilityElements () [0x0001a] in D:\a\1\s\Xamarin.Forms.Platform.iOS\VisualElementRenderer.cs:529 at Xamarin.Forms.Platform.iOS.VisualElementRenderer
1[TElement].OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00131] 在 D:\a\1\s\Xamarin.Forms.Platform.iOS\VisualElementRenderer.cs:414 在 Xamarin.Forms。 Platform.iOS.ViewRenderer`2[TView,TNativeView].OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00078] 在 D:\a\1\s\Xamarin.Forms.Platform.iOS\ViewRenderer。 cs:158 在 Xamarin.Forms.Platform.iOS.ActivityIndicatorRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00000] 在 D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers \ActivityIndicatorRenderer.cs:38
或者
在 /Library/Frameworks/Xamarin.iOS.framework/Versions/14.0.0.0/src/Xamarin.iOS/ObjCRuntime/Runtime.cs:1260 中的 ObjCRuntime.Runtime.GetNSObject[T] (System.IntPtr ptr) [0x000d1] UIKit.UIView.get_Superview () [0x0002a] 在 /Library/Frameworks/Xamarin.iOS.framework/Versions/14.0.0.0/src/Xamarin.iOS/UIKit/UIView.g.cs:4848
Xamarin.Forms.Platform.iOS .VisualElementRenderer1[TElement].UpdateParentPageAccessibilityElements () [0x0001a] in D:\a\1\s\Xamarin.Forms.Platform.iOS\VisualElementRenderer.cs:529 at Xamarin.Forms.Platform.iOS.VisualElementRenderer
1[TElement].OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00131] 在 D:\a\1\s\Xamarin.Forms.Platform.iOS\VisualElementRenderer.cs:414 在 Xamarin.Forms。 Platform.iOS.ViewRenderer`2[TView,TNativeView].OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00078] 在 D:\a\1\s\Xamarin.Forms.Platform.iOS\ViewRenderer。 cs:158 在 Xamarin.Forms.Platform.iOS.ImageRenderer.<>n__1(System.Object 发件人,System.ComponentModel.PropertyChangedEventArgs e)
当页面本身不可用时,关于绑定应该如何表现的任何想法?这是 iOS 中的一个已知问题吗?
解决方案
推荐阅读
- websocket - 如何使用 Puppeteer 向 WebSocket 发送数据
- firebase - 如何将 CORS 添加到 Firebase - Access-Control-Allow-Origin
- c# - 如何将变量从控制器传递到机器人文件
- java - ajax 将序列化的表单和模型列表发布到控制器方法
- objective-c - 如何从 OSSpinLock 迁移到 os_unfair_lock()?
- c - 在 C 中是否有类似 C# 的名称用于定义指令?
- python - 引用 str; 在熊猫中取消引用浮点数
- homebrew - 无法使用 Homebrew 安装 yap
- tensorflow - TensorFlow:嵌入模型不必要地使用过多的 GPU 内存
- jquery - 基于从 jquery 发送的值的烧瓶更新数据库