在写代码过程中,总会遇到一些问题,比如在运行中会报该对象已被删除,但你仍然尝试访问它
遇到这种问题,不要慌,可以在每次运行时,把空值的数组删除,就不会出问题,下面我来一个示范:(由于工作原因不能放全部代码出来 )
我自己定义了一个数组,在下面我尝试做点什么,比如隐藏
由于功能原因,我在其他地方写了删除,在运行完后会进行删除,因为我们在删除时没有及时更新数组中的值,会在下一次运行中报出上面的错误,下面来写解决方案:
tips = tips.Where(x => !ConstratTrans.IsNullOrEmpty(x)).ToArray();
写入这个,会报错,我们引用一个命名空间
using System.Linq;
这时候还会报错,因为我们在上面定义的时候用了另一个类名做类型来定义,但是那个类里没有
.IsNullOrEmpty()
我们打开那个类,在里面加入以下这段:
public static bool IsNullOrEmpty(ConstratTrans value)
{
if (value != null)
{
return value == null;
}
return true;
}
当然,方法名可以自己定义,我这里直接拿来用了,将它写完后,回到unity运行,问题得到解决