「performSelector」Swift中performSelector返回值的用法

  • 内容
  • 相关

performselector 近期应用swift,汉语翻译OC的编码时,发觉performSelector的返回值与OC中的使用方法相距挺大。在OC中回到的是ID种类,而swift中回到的是Unmanaged!种类,见下面的图。 在之前OC中,应用performSelector,立即接纳返回值,随后转为必须的种类开展实际操作就就行了,可是在swift中是不好的,下边是按OC立即译成swift的编码,基本概念是target-action,由mediator推送信息给target,开启target的getPerson()方式,随后建立一个person目标,在外界获得这一person目标,并启用person的run()方式,实际编码及結果以下。 从左右编码看得见,并沒有想OC一样得到person目标,下边切断点看来一下,实际发生什么事事。 最先能够明确,根据performSelector的方式,有开启getPerson()方式,且回到了person目标。 可是,在外界接纳时,这儿的person并非人们必须的person目标,只是一个Unmanaged!种类,且能看在这一种类里边包括了person这一目标,随后我还在playground上实验了一下,发觉这一种类里边的value是我必须的值 我们一起讨论一下Unmanaged!是个什么 根据文本文档的字面上含意了解,这物品应当是一个用于管理对象的物品,这儿见到了关于value的方式,随后修改一下编码,再看认证。 那样就取得必须的person目标了。 可是,事情还不停,写这篇搏客,实际上还有一个缘故,我还在应用swift写target-action组件化分布式数据库时,碰到了目标提早释放出来的难题,那麼编码就必须那样写 假如是内存泄露,要是把retain改为release就就行了。

本文标签:

版权声明:若无特殊注明,本文皆为《Black Leaguer》原创,转载请保留文章出处。『鹦鹉搜索』

百度收录:百度已收录『查看详情』

本文链接:「performSelector」Swift中performSelector返回值的用法 - https://www.15qq.cn/spe_seo/1085.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

未显示?请点击刷新

允许邮件通知