在 select count(trans_mode) from tab where trans_mode='Web' COLLATE SQL_Latin1_General_CP1_CI_AS
几何体上使用getBoundingBoxSize
时遇到一个奇怪的问题-有时会导致崩溃-SCNText
。不知道为什么。我在主线程上使用它。
这是在iOS 12上发生的。有人可以帮我解决这个问题吗?
EXC_BAD_ACCESS (code=1)
答案 0 :(得分:0)
您在Objective-C内存管理系统中崩溃,通常表明某种堆损坏。我猜想某些对象已经过早地释放,而对它的引用仍然存在。这是超常见的,通常称为悬空指针。
我建议您检查一下Instruments中的Zombies工具。它可以帮助发现此类错误。祝你好运!
答案 1 :(得分:0)
2.5年后的iOS 14.2中的SceneKit仍然无法解决此问题。据我所知,在至少渲染一次节点之后,才能在具有SCNText几何形状的节点上调用.boundingBox。我的猜测是,直到渲染循环和boundingBox无法检查其是否未初始化,某些东西才被初始化。
我的解决方法是将.boundingBox放入DispatchQueue.main.asyc {}块中的常见做法,以便(希望如此)已初始化节点和几何体。根据您的应用程序,这可能不可行。