当前位置: 首页 > 面试题库 >

每次将值附加为数组的字典,保持空白

魏威
2023-03-14
问题内容

在ARKit中,我想做的是收集一堆放置在场景中的节点的位置,然后将它们平均化,以使节点的移动不会像使用ARKit时那样抖动。因此,我有一个变量声明并初始化为Dictionary,其值作为vector_float3的数组。(我认为这比ARKit问题更多是Swift问题,不是吗?)

var extentOfnodesAddedInScene: [SCNNode: [vector_float3]] = [:]

这与SceneKit / ARKit有关。在不断检测和更新水平面的渲染器函数中,我想在其中附加vector_float3数组。

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    guard let planeAnchor = anchor as? ARPlaneAnchor else { return }
    ...
    extentOfnodesAddedInScene[node]?.append(planeAnchor.center)

但是在打印出来时,我得到了一个空字典,即[:]

var nodesAddedInScene: [SCNNode: [vector_float3]] = [:]我在用整个数组同时更新时声明和初始化的另一种类似的var 可以正常工作。

nodesAddedInScene[node] = [planeAnchor.center, planeAnchor.extent]

因为在最后一个var中只有两个值,所以很好。但是对于前一个,我希望字典中的数组是一个动态更新的数组。关于如何实现这一目标的任何指示都将非常有帮助。


问题答案:

您可以使用具有默认值的基于Swift
4字典键的下标将您的数组初始化为一个空数组,以便即使在其键上还没有定义值时也可以追加到该数组。只要确保您的字典值类型是一个数组即可[SCNNode: [vector_float3]]

extentOfnodesAddedInScene[node, default: []].append(planeAnchor.center)


 类似资料:
  • 问题内容: 我试图找出最好的方式来添加值到这是一个在。我想建立一个按联系人名字的首字母排序的联系人字典。例如[A:[Aaron,Adam等…],B:[Brian,Brittany等],…] 我发现此功能: 并尝试在循环中使用它: 但是当我尝试使用它时,它用一个新数组替换了现有数组。我知道我可以手动检查字典中的键是否存在,如果存在,则检索数组,然后附加一个新值,否则添加新的键/值对,但是我不确定Sw

  • 问题内容: 问题 我正在以以下方式创建一个空列表作为值的字典。 字典看起来像这样。 当我将一个值附加到一个列表时,此示例将值附加到所有列表。 问题 我的问题分为两部分。首先,为什么会这样?第二,我该怎么办?也就是说,如何将一个值仅附加到一个列表中? 我想象在创建字典时,我使所有列表都指向同一个对象。但是我不明白怎么回事,因为当我输入而不是在字典创建中,然后添加值而不是附加值时,这些值的行为会不同,

  • 问题内容: 组装传递给GRMustache.swift的数据有效载荷以渲染胡子模板时,我处于一种需要将数据附加到先前在字典中定义的数组的场景中。 我的数据结构开始于: 该密钥对是一家集我需要一个循环内后追加。 要添加到数组中,我正在尝试类似的方法: 此错误,因为type的值没有成员,并且二进制运算符不能应用于type 和的操作数。 这很有意义,因为我需要强制转换要附加的值。但是,我不能改变数组。

  • 问题内容: 我是python的新手,我列出了每年的年份和值。我想做的是检查字典中是否已经存在年份,如果存在,则将值附加到特定键的值列表中。 例如,我有一个年份列表,每年都有一个值: 我想做的是用年作为键填充那些字典,而那些数字作为值填充字典。但是,如果我两次列出了2009,那么我想将该第二个值追加到该词典中的值列表中,因此我想: 现在,我有以下内容: 问题答案: 如果我可以重新表述您的问题,您想要

  • 我已经找了几个小时来解决我的问题。我发现了几个类似的问题,但这些修复方法很少适用于我,到目前为止没有一个有效。 我正在通过post表单填充数据库,但数组结果为空: 这导致 数组() index.php文件的完整代码: 因此,这应该做的是将作为值发送到同一个文件中,我可以将其打印出来。 它与配合使用效果非常好,我知道我可以在不使用的情况下创建此特定应用程序。但是在这个项目的后面,我希望能够使用获取更

  • 下图是三组相互接触的方块,每个方块都有编号。 我已经能够使用空间库ArcPy构建下面的字典,它使用平方数作为键,并使用它所触及的平方的数字列表作为值。例如,正方形1只接触正方形4,正方形4接触正方形1和6,依此类推。 从图中可以清楚地看到,有三组相互接触的正方形,所以我想要的结果是一个新的字典,其中的键是正方形的数字,值是它所属的接触组。我将使用字母命名接触组,但这些名称可以是任何名称,因此一个可