ios – swift中dispatch_block_t的等价物是什么?

ios – swift中dispatch_block_t的等价物是什么?,第1张

概述我有一些 Objective-c代码,我想在swift中做同样的事情: dispatch_block_t adjustTooltipVisibility = ^{ self.tooltipView.alpha = _tooltipVisible ? 1.0 : 0.0; self.tooltipTipView.alpha = _tooltipVisible ? 1.0 : 0.0; 我有一些 Objective-c代码,我想在swift中做同样的事情:

dispatch_block_t adjusttooltipVisibility = ^{    self.tooltipVIEw.Alpha = _tooltipVisible ? 1.0 : 0.0;    self.tooltipTipVIEw.Alpha = _tooltipVisible ? 1.0 : 0.0;};

到目前为止,我所能找到的关于dispatch_block_t的是它在swift中的dispatch_after用作闭包.所以我可以理解,但我不明白在objective-c中使用它就像这样,以及如何将此代码转换为快速代码

解决方法 dispatch_block_t是VoID的类型别名 – >空隙封闭. Swift(从版本1.2开始)并不能很好地推断出这些,所以你需要声明类型.您还需要显式引用self来访问实例属性,并且需要确保您没有创建引用循环.在封闭中宣称自己是弱者是一种安全的方法:

let adjusttooltipVisibility: dispatch_block_t = { [weak self] in    if self?._tooltipVisible == true {        self?.tooltipVIEw.Alpha = 1        self?.tooltipTipVIEw.Alpha = 1    } else {        self?.tooltipVIEw.Alpha = 0        self?.tooltipTipVIEw.Alpha = 0    }}
总结

以上是内存溢出为你收集整理的ios – swift中dispatch_block_t的等价物是什么?全部内容,希望文章能够帮你解决ios – swift中dispatch_block_t的等价物是什么?所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1073918.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存