c# - 从 DispatchQueue.MainQueue.DispatchAsync 返回值

标签 c# ios xamarin.ios

我们有一个返回NSAttributedString的函数 我们想要在主线程上实例化 attributeString 像这样:

DispatchQueue.MainQueue.DispatchAsync(() =>
                {
                    NSAttributedString attributedString = new NSAttributedString(myHtmlData, options, out dict, ref error);
                });

如何在异步调度完成后返回属性字符串

最佳答案

您可以使用以下代码片段

var attributedString= await GetAttributedStringAsync();

        public Task<NSAttributedString> GetAttributedStringAsync()
        {
            var tcs = new TaskCompletionSource<NSAttributedString>();
            DispatchQueue.MainQueue.DispatchAsync(() =>
            {
                tcs.SetResult(new NSAttributedString(myHtmlData, options, out dict, ref error););
            });

            return tcs.Task;
        }

关于c# - 从 DispatchQueue.MainQueue.DispatchAsync 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56289634/

相关文章:

ios - 如何解决 crashlytics/fabric 生成的此警告?

c# - InvokeOnMainThread 不适用于 `method group`

ios - 从同一个 TableViewCell 打开不同的 ViewControllers(像 facebook 通知)

ios - 以编程方式快速添加约束

ios - 执行网络异步请求的自定义类的内存管理

node.js - 从移动客户端进行 oAuth 的 "right"方式

c# - 如何在 VSTO/C# 中使用行号和列号获取 Excel 范围?

c# - 如何从 Windows 客户端应用程序使用 openAuth?

c# - 快速发送进程间信号

c# - 模型绑定(bind) CSP 报告 json