小编Rob*_*ndl的帖子

检测应用程序打开的UILocalNotification

在某些情况下,我的iOS应用程序触发多个UILocalNotification同一时间.我想决定UILocalNotification用户点击了哪个.当用户点击某个UILocalNotification应用程序处于非活动状态或后台时.问题是该方法

func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
Run Code Online (Sandbox Code Playgroud)

每次触发都会UILocalNotification被调用.因此,当应用程序变为活动状态时,此方法会被多次调用,因为我收到了多个UILocalNotification.有没有办法确定UILocalNotification应用程序打开的原因是什么?由于UILocalNotification应用程序处于非活动状态或后台时已收到所有应用程序,因此检查applicationState 不起作用.

非常感谢!

编辑:作为一个例子:当您从两个不同的组A和B收到WhatsApp消息并从组A中选择推送通知时,该应用程序将在应用程序打开后立即显示.WhatsApp和我的用例之间的区别在于我有本地通知.

notifications ios uilocalnotification swift

15
推荐指数
2
解决办法
1714
查看次数

iOS GoogleMaps SDK - animateToCameraPosition动画完成处理程序?

目前,我正在使用适用于iOS的GoogleMaps SDK进行各种操作.打电话的时候

[self.googleMapsView animateToCameraPosition:[GMSCameraPosition 
                            cameraWithLatitude:LATITUDE
                                     longitude:LONGITUDE
                                          zoom:ZOOM]];
Run Code Online (Sandbox Code Playgroud)

是否有完成处理程序来确定动画是否完成?

当然我得到关于cameraPosition的GMSMapViewDelegate更新,但我该如何检查动画是否完成?

- (void)mapView:(GMSMapView *)mapView 
didChangeCameraPosition:(GMSCameraPosition *)position;
Run Code Online (Sandbox Code Playgroud)

animation ios google-maps-mobile google-maps-sdk-ios

13
推荐指数
3
解决办法
1万
查看次数

Node.js在服务器运行时删除路由

目前我正在尝试在运行时删除Node.js服务器应用程序的路由.

for (k in self.app.routes.get) {
  if (self.app.routes.get[k].path + "" === route + "") {
    delete self.app.routes.get[k];
    break;
  }
}
Run Code Online (Sandbox Code Playgroud)

调用此方法后,self.app.routes对象中不再有路由.但在我尝试访问当前删除的路由后,我收到以下错误:

TypeError:无法在Router.matchRequest上调用undefined方法'match'(/var/lib/root/runtime/repo/node_modules/express/lib/router/index.js:205:17)

由于express.js的文档,这必须是正确的方法.

app.routes对象包含由关联的HTTP谓词映射的所有路由.此对象可用于内省功能,例如,Express在内部使用此功能不仅用于路由,还提供默认的OPTIONS行为,除非使用app.options().您的应用程序或框架也可以通过从这个对象中删除它们来删除路由.

有没有人知道如何在Node.js中正确删除运行时的路由?

非常感谢!

javascript node.js express

3
推荐指数
1
解决办法
2706
查看次数

将GMSVisibleRegion转换为CLRegion或MKCoordinateRegion

我正在使用GoogleMaps SDK,目前我正在尝试将GMSVisibleRegion转换为CLRegion.

GMSVisibleRegion定义为:

typedef struct {
  CLLocationCoordinate2D nearLeft;
  CLLocationCoordinate2D nearRight;
  CLLocationCoordinate2D farLeft;
  CLLocationCoordinate2D farRight;
} GMSVisibleRegion;
Run Code Online (Sandbox Code Playgroud)

最快的方法是什么?

不幸的是,很难理解开发人员在命名"near"和"far"时的含义.我认为这个评论也很有用:

/**
 * Returns the region (four location coordinates) that is visible according to
 * the projection.
 *
 * The visible region can be non-rectangular. The result is undefined if the
 * projection includes points that do not map to anywhere on the map (e.g.,
 * camera sees outer space).
 */
 - (GMSVisibleRegion)visibleRegion;
Run Code Online (Sandbox Code Playgroud)

非常感谢!

编辑:好的,我的第一步是创建一个GMSVisibleRegion的MKCoordinateRegion.

我建议使用以下代码将GMSVisibleRegion转换为MKCoordinateRegion.任何异议.


+ (MKCoordinateRegion)regionForCenter:(CLLocationCoordinate2D)center andGMSVisibleRegion:(GMSVisibleRegion)visibleRegion
{
    CLLocationDegrees latitudeDelta = …
Run Code Online (Sandbox Code Playgroud)

google-maps ios clregion google-maps-sdk-ios

3
推荐指数
3
解决办法
6411
查看次数

嵌套元素的合并/叉积MongoDB

有没有一种方法可以在MongoDB中组合/产生嵌套元素的叉积。举例来说,我有

{
  images: 
  [
    {
        name: 'A',
        url: 'urlA'
    }, 
    {
        name: 'B',
        url: 'urlB'
    }
  ],
  tags: [
    {
        name: 'Tag1',
        description: 'description1'
    },
    {
        name: 'Tag2',
        description: 'description2'         
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

通过首选结果应该是

[
    {
        url: 'urlA',
        name: 'Tag1'
    },
    {
        url: 'urlA',
        name: 'Tag2'
    },
    {
        url: 'urlB',
        name: 'Tag1'
    },
    {
        url: 'urlB',
        name: 'Tag2'
    }
]
Run Code Online (Sandbox Code Playgroud)

是否可以将生成的文档存储在新集合中?

mongodb mongodb-query aggregation-framework

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