MacMono无法在多线程中创建NSImage

时间:2015-11-12 08:58:34

标签: c# multithreading nsimage

我试图在任务中创建MonoMac的NSImage,但它失败了"只能从UI线程"中调用。所以我创建了一个原生的swift项目,它运行正常。这是测试代码。

PS。我很确定Xamarin.iOS'在iOS中与NSImage级别相同的UIImage在任务中运行良好。 C#:抛出异常。

Task.Factory.StartNew(() => {
    try
    {
        NSImage nsImage = new NSImage(new SizeF(256, 256));
        Console.WriteLine(nsImage);
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex);
    }
}); 
斯威夫特:工作正常。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
    let nsImage = NSImage(size: NSSize(width: 256, height: 256));
    print(nsImage);
})

是错误还是有解决方法?

0 个答案:

没有答案