开发平台:Unity
编程平台:Visual Studio 2020以上
使用语言:C#

问题描述


描述
英文 MissingReferenceException: The object of type ‘GameObject’ has been destroyed。
中文 丢失的偏好异常:GameObject 类型的对象已经被销毁

  备注:这是一个 Warning 类型的错误警告,对项目稳定性基于使用情况给予 可忽略/有影响 两种BUFF。

解决方案:示例


public void Awake() { EventDispacther.AddListener($"{MessageCommand.Hello}", OnResponsedMessage); }public void OnResponsedMessage(object[] obj) { Debug.Log("Hello World"); }
  • 如上所示,使用事件分发器注册监听 MessageCommand.Hello 消息。其内部方式使用 委托订阅方式进行。
  • 现在 包含改内容 的脚本所挂载的对象被制作成 Prefab 预制体。用于其他脚本的调用。
  • 在其他脚本中,例如:
public class ItemCreator : MonoBehaviour
{public Transform Parent;public GameObject Prefab;public IEnumerator CreateAndDelete(){yield return new WaitForSeconds(2f);var thisPrefab = GameObject.Instante(Prefab, Parent);yield return new WaitForSeconds(2f);DestroyImmediate(thisPrefab);EventDispatcher.DispatchEvent($"{MessageCommand.Hello}");}
}

  在 创建与销毁 过程中,我们为该对象的组件中执行了 EventDispatcher 的事件注册。特别的,在销毁过程中,并未对该对象因自身销毁问题而注销事件监听。导致 事件分发器 中任然保留这一部分事件被执行,但对象已经出现丢失(销毁)。

解决方法:检查生命周期

  注意 Unity 生命周期,若销毁对象,则需移除其自身所有注册信息。例如,在组件销毁阶段注销事件监听。

public void OnDestroy()
{EventDispatcher.RemoveObserver($"{MessageCommand.Hello}");
}

【解决】MissingReferenceException: The object of type ‘GameObject‘ has been destroyed...相关推荐

  1. MissingReferenceException: The object of type 'GameObject' has been destroyed

    开发过程中遇到的问题: MissingReferenceException: The object of type 'GameObject' has been destroyed but you ar ...

  2. python3运行报错:TypeError: Object of type ‘type‘ is not JSON serializable解决方法(详细)

    python3运行报错:TypeError: Object of type 'type' is not JSON serializable解决方法(详细) 参考文章: (1)python3运行报错:T ...

  3. 成功解决TypeError: object of type ‘int‘ has no len()

    成功解决TypeError: object of type 'int' has no len() 目录 解决问题 解决思路 解决方法 解决问题 TypeError: object of type 'i ...

  4. 成功解决TypeError: Object of type 'ndarray' is not JSON serializable

    解决问题 TypeError: Object of type 'ndarray' is not JSON serializable 解决方法 def default(self, obj):if isi ...

  5. 成功解决Python中出现的TypeError: object of type 'zip' has no len()

    成功解决Python中出现的TypeError: object of type 'zip' has no len() 不罗嗦,直接解决问题! 目录 解决问题 解决思路 解决方法 解决问题 TypeEr ...

  6. 【文件处理】——字典写入json文件或TXT文件,读取文件中的字典TypeError: Object of type ‘ndarray‘ is not JSON serializable错误解决方法

    目录 一.将字典写入json文件 二.json文件中读取字典 三.将字典写入TXT文件中 四.从TXT中读取字典 五.解决字典含数组存入json文件失败的方法 1.存入前将数组变成列表 2.扩展类方法 ...

  7. flask查询User,返回对象列表,提示ypeError: Object of type ‘bytes‘ is not JSON serializable解决办法

    先把对象转换字典: class User(db.Model):__tablename__ = 'user'id = db.Column(db.INTEGER,primary_key=True)logi ...

  8. 解决Could not find method ndkVersion() for arguments on object of type com.android.build.问题

    问题起因 今天刚升级完Android Studio 4.0,偶然用到了 NDK 相关的项目,运行后出这个错,还以为我这台电脑没有装相应的 NDK 点击Update. 然后就遇到了这个问题:Could ...

  9. Pytorch 类型错误:Expected object of type torch.FloatTensor but found type torch.cuda.FloatTensor.

    Expected object of type torch.FloatTensor but found type torch.cuda.FloatTensor Pytorcht调试过程中,将数据传入模 ...

最新文章

  1. Python新工具:用三行代码提取PDF表格数据
  2. LBS推荐系统的设计方法
  3. MPEG-LA发布VVC专利池
  4. 用c语言实现0到59的数码管,跪求单片机0~99数码管显示用C语言编写的程序
  5. 博主应邀参加YOCSEF虚拟化技术论坛
  6. maven 父maven_Maven的春天
  7. Java7并发编程指南——第四章:线程执行器
  8. dHedge DAO和一些顶级基金向基金管理者投资14.5万sUSD
  9. NIST 发布关于使用“行政令-关键软件”的安全措施指南
  10. 企业微信应用设置可信域名_企业微信更新版本 全平台内容可设置成英文
  11. 每日算法系列【LeetCode 495】提莫攻击
  12. linux磁盘空间用满的处理方法
  13. ASP.NET MVC 在项目中使用面包屑导航
  14. 什么是领域模型(domain model)?贫血模型(anaemic domain model) 和充血模型(rich domain model)有什么区别...
  15. surface人脸识别摄像头不支持的情况解决方案
  16. 用isprime判断是否为素数(函数法)
  17. 双线双IP和BGP双线有什么区别?
  18. 邓俊辉数据结构学习心得系列——如何正确衡量一个算法的好坏
  19. 准备女儿的学前班毕业典礼
  20. 2021-10-01

热门文章

  1. 小时候计算机课玩的那个兔子的游戏是什么,童年小确幸 儿时电脑课里我们玩不腻的13个小游戏...
  2. 放大器相位裕度与电路稳定性判断方法
  3. PID控制器改进笔记之七:改进PID控制器之防超调设定
  4. 浅谈QoS——QoS概述
  5. git@gitcafe 的一些笔记
  6. 【原创】PHP超时处理全面总结
  7. GPU编程--OpenCL基本概念
  8. 充分利用好自己的阿里云服务器,让服务器的价值最大化
  9. 思维导图解密人的五感一想
  10. 公园前1750年,埃及奴隶起义