gpt4 book ai didi

ios - MvvmCross 中的 CoreAnimation 和 ObservableCollection

转载 作者:行者123 更新时间:2023-11-29 03:12:29 25 4
gpt4 key购买 nike

我的 ViewModel 有一个 ObservableCollection

private ObservableCollection<ObjectView> _elementList;
public ObservableCollection<ObjectView> ElementList
{
get { return _elementList; }
set { _elementList = value; RaisePropertyChanged("ElementList"); }
}

当从 TableView 调用 ReloadData 时,它通过异步线程绑定(bind)(即在我的 TableView 上有一个无限滚动)。我注意到这个错误(有时,并非总是如此,它会导致我的应用程序崩溃):

Feb 28 10:14:25 iPhone-di-Luigi JRUITouch[4518] <Warning>: CoreAnimation: warning, deleted thread with uncommitted CATransaction; created by:
0 QuartzCore 0x31ce00a5 <redacted> + 268
1 QuartzCore 0x31cdff59 <redacted> + 224
2 QuartzCore 0x31ce05bb <redacted> + 30
3 QuartzCore 0x31ce1f6b <redacted> + 158
4 QuartzCore 0x31ce546d <redacted> + 40
5 UIKit 0x3219a2c5 <redacted> + 48
6 UIKit 0x321d0c65 <redacted> + 460
7 UIKit 0x321d0a45 <redacted> + 68
8 CoreFoundation 0x2f8240f3 <redacted> + 90
9 CoreFoundation 0x2f824003 <redacted> + 198
10 UIKit 0x3213a825 <redacted> + 628
11 LSUITouch 0x001a24ec wrapper_managed_to_native_MonoTouch_ObjCRuntime_Messaging_void_objc_msgSend_intptr_intptr + 100
12 LSUITouch 0x0017b948 MonoTouch_UIKit_UITableView_ReloadData + 52
13 LSUITouch 0x00a210d4 Cirrious_MvvmCross_Binding_Touch_Views_MvxBaseTableViewSource_ReloadTableData + 176
14 LSUITouch 0x00a24cf0 Cirrious_MvvmCross_Binding_Touch_Views_MvxTableViewSource_CollectionChangedOnCollectionChanged_object_System_Collections_Specialized_NotifyCollectionChangedEventArgs + 248

有人知道如何解决吗?

最佳答案

通过 Stuart 的建议解决了问题。

从外部线程更新 UI 会很危险...您可能会产生一些意想不到的效果。然后每次我在 ObservableCollection 上添加元素时,我都会以这种方式在主线程上调用此更新:

private void AddElementsOnMainThread(AdvertObjectView item){
MvxMainThreadDispatcher.Instance.RequestMainThreadAction((Action)delegate(){
ElementList.Add(item);
});
}

这样一来,我就不会再收到警告,而且我的 UI 线程也不会出现意外!

关于ios - MvvmCross 中的 CoreAnimation 和 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22090957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com