cocoa – 如何将NSProgressIndicator绑定到NSOperation的属性?

cocoa – 如何将NSProgressIndicator绑定到NSOperation的属性?,第1张

概述我有一个窗口,反映了NSOperation的状态.我应该如何将NSProgressIndicator绑定到NSOperation的progress-property? AppKit不是线程安全的.对UI对象的任何更新都必须在主线程上进行. KVO不会跨线程发送观察消息.所以你需要和另一种更新进度指示器的方法不仅仅是简单的KVO. 在NSOperation的主要方法中,您需要定期发送进度消息.最简单 我有一个窗口,反映了NSOperation的状态.我应该如何将nsprogressIndicator绑定到NSOperation的progress-property?解决方法 AppKit不是线程安全的.对UI对象的任何更新都必须在主线程上进行. KVO不会跨线程发送观察消息.所以你需要和另一种更新进度指示器的方法不仅仅是简单的KVO.

在NSOperation的主要方法中,您需要定期发送进度消息.最简单的方法是使用带有自定义通知的NSNotificationCenter,以便主线程可以监听更新. (请注意,通知始终在发送它们的线程上传递,因此您需要使用performSelectorOnMainThread:方法来确保在UI线程上传递通知.)

在主线程中,您需要将您的类添加为观察者以接收这些通知并更新进度指示器.如果要对进度指示器使用绑定,可以将其绑定到控制器对象上的属性,当您从NSOperation接收进度通知时,该属性会更新.

总结

以上是内存溢出为你收集整理的cocoa – 如何将NSProgressIndicator绑定到NSOperation的属性?全部内容,希望文章能够帮你解决cocoa – 如何将NSProgressIndicator绑定到NSOperation的属性?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存