小编nig*_*ird的帖子

从scene.rootNode中删除SCNNode节点导致在SceneKit中崩溃

我试图从我的场景中删除表示路径的节点集.它们是SCNSphere几何节点和表示线的自定义几何的组合,使用SCNGeometrySource和SCNGeometryElement创建.

我没有在任何类型的数组中保留这些节点.相反,我按照名称搜索场景中rootNode的节点树的第一级,以及后续调用使它们淡出的动作序列,并且它们应该从根节点中删除它们自己.

代码如下:

func clearPath() {
    //
    let disappear = SCNAction.fadeOut(duration: 0.1)
    let remove = SCNAction.removeFromParentNode()
    let sequence = SCNAction.sequence([disappear, remove])

    if let pathNodesToRemove = pathNodes() {
        //
        for node in pathNodesToRemove {
            //
            node.removeAllActions()
            node.runAction(sequence)
        }
    }

    if let lineNodesToRemove = lineNodes() {
        for node in lineNodesToRemove {
            //
            node.removeAllActions()
            node.runAction(sequence)
        }
    }

    path.removeAll()
}
Run Code Online (Sandbox Code Playgroud)

哪里:

func pathNodes() -> [SCNNode]? {
    //

...        

    let nodes = rootNode.childNodes.filter { (node) -> Bool in
        //
        guard let name = node.name else …
Run Code Online (Sandbox Code Playgroud)

ios scenekit swift

12
推荐指数
1
解决办法
611
查看次数

AWS Lambda 函数多次处理相同的 dynamodb 流。我错过了什么?

我编写了一个 node.js lambda 函数,当新记录插入特定表时,该函数基于 dynamodb 流触发。

该函数只接收新事件,过滤插入的记录,然后对于每条记录,使用几个字段从其他表中检索数据。使用此组合数据编写消息并通过 SNS 发送到特定目标 ARN。

该功能正确执行。检索所有相关数据,并发送推送通知。

但是,出于某种原因,该函数似乎为同一个流多次调用,并多次处理新插入的记录。结果是目标设备多次收到相同的推送通知。

我应该将回调放在不同的地方,还是我没有正确调用上下文?

这是函数:

'use strict';

var AWS = require("aws-sdk");
var dynamodb = new AWS.DynamoDB();
var sns = new AWS.SNS();

console.log('Loading function');

exports.handler = (event, context, callback) => {
  console.log('Received event:', JSON.stringify(event, null, 2));

  event.Records.forEach((record) => {
    console.log(record.eventID);
    console.log(record.eventName);
    console.log('DynamoDB Record: %j', record.dynamodb);

    if (record.eventName == 'INSERT') {
      var matchId = record.dynamodb.NewImage.eventId.S;
      var match_params = {
        Key: {
          "eventId": {
            S: matchId
          }
        },
        TableName: "xxxxxxxxxxx-mobilehub-xxxxxxx-Event"
      };

      //retrieve the match …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services node.js amazon-dynamodb aws-lambda

7
推荐指数
1
解决办法
2784
查看次数