小编Lau*_*uet的帖子

Xcode 10:自动插入右大括号错误

在 Xcode(swift 文件)中,我面临一个问题,即右括号的自动插入不再起作用。

例如:当我写

func myFunc() {
Run Code Online (Sandbox Code Playgroud)

然后按回车,Xcode 不会插入右括号,我需要自己做(我对此很生气......)

然而,我的设置似乎很好:首选项 -> 文本编辑选项卡 ->“自动插入右大括号”== true

每个包含注释代码的文件似乎都会发生这种情况,尤其是这个(非常常见的)注释: //}

配置:Xcode 版本 10.0 (10A255)

在新 Playground 上重现的步骤:

  1. 复制并粘贴以下评论: //}
  2. 然后输入: func test() {
  3. 然后按回车

这绝对是文本编辑器中的一个错误。已向 Apple 漏洞报告者提交。

每个人都可以重现该错误还是由于某些配置?如果是这样,我能做些什么来解决它?

swift xcode10

6
推荐指数
2
解决办法
1200
查看次数

如何将多个请求传递给Firebase,以便同时从多个节点获取数据

我需要从Firebase数据库中的4个节点检索数据.按照设计,在firebase中,这只能通过触发4个查询来完成.在我的情况下,这4个查询是独立的,因为我已经知道每个查询的路径:我可以同时解雇它们.

我从Frank van Puffelen那里了解到,Firebase能够在同一个连接中管理多个查询(参见此处).

这非常有用,因为它避免了顺序触发n次查询和松散往返时间.

在Javascript中,我们可以将查询包装到一个promises数组中,然后将它们全部一起解压缩.

JavaScript的

const arrayOfPromises = [
    promise1,
    promise2,
    promise3,
    promise4];
Promise.all(arrayOfPromises);
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在Swift中继续?

我试图创建一个数组DatabaseReference并从中观察childValues:

迅速

let refs = [Database.database().reference().child("node1"),
            Database.database().reference().child("node2"),
            Database.database().reference().child("node3"),
            Database.database().reference().child("node4")]

refs.child(uid).observeSingleEvent(of: .value, with: { (snapshot) in
      //Do something  
}
Run Code Online (Sandbox Code Playgroud)

但似乎observeSingleEvent只能从单个DatabaseReference(而不是从DatabaseReference数组)触发

firebase swift firebase-realtime-database

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

将对象转换为对象字典

我有一个带有未知键/值对的对象,像这样

myObj = {
    key_1: value_1,
    key_2: value_2,
    key_n: value_n
}
Run Code Online (Sandbox Code Playgroud)

我想将其转换为像这样的结构化对象的字典:

dictOfStructureObjects =
{
 key_1: {
  name: value_1,
  type: 'foo'},
 key_2: {
  name: value_2,
  type: 'foo'},
 key_n: {
  name: value_n,
  type: 'foo'}
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这个:

var dic = snapshot.val();
var arr = Object.keys(dic || {});
var names = arr.map(element => {
    var rObj = {};
    rObj[element.value] = {name: dic[element.value], type: 'foo'};
});
Run Code Online (Sandbox Code Playgroud)

但是我认为尝试使用其属性引用数组元素的值value是不正确的...

javascript dictionary hashmap node.js

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

在 Node.js 中从 Firestore 检索日期

从关于保存支持类型的数据的Firestore 文档中,我是红色的:

var docData = {
    //...
    dateExample: new Date("December 10, 1815"),
    //...
    }
};
db.collection("data").doc("one").set(docData).then(function() {
console.log("Document successfully written!");
});
Run Code Online (Sandbox Code Playgroud)

这是我在 Cloud Functions 中用于将各种日期保存到 Firestore 的方法。它很好用!

当我需要检索这些日期并将它们作为字符串发布到第三方 API 时,我的问题就出现了。

据我了解,在 Firebase/Firestore 中,日期存储为 Unix 时间戳。

我找不到任何地方(firebase doc,stackoverflow ...)如何将其正确转换为字符串。

我尝试了以下失败:

function timeConverter(UNIX_timestamp){
    var a = new Date(UNIX_timestamp * 1000);
    var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    var year = a.getFullYear();
    var month = months[a.getMonth()];
    var date = a.getDate();
    var hour = a.getHours();
    var min = a.getMinutes();
    var sec = a.getSeconds();
    var time …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-functions google-cloud-firestore

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

按嵌套属性对字典的键进行排序

我有这样的字典:

const recommendations =
 { '014A8C3D-FE99-4DE3-9F9F-F197A3CB270F': 
   { zL: 0.0402632597754549,
     zD: 0,
     mL: 2,
     mD: 0,
     rate: 0.02013162988772745 },
  '036EA860-FDF1-40DA-8915-A2F02241DC7D': 
   { zL: 0.0297356539387,
     zD: 0,
     mL: 1,
     mD: 0,
     rate: 0.0297356539387 },
  '4A49B2C5-62A6-494B-BE77-FBEF5C102579': 
   { zL: 0.052390243902439025,
     zD: 0,
     mL: 1,
     mD: 0,
     rate: 0.052390243902439025 },
  '640674E4-5080-4BFD-983F-330D1C9150D0': 
   { zL: 0.011376894745,
     zD: 0,
     mL: 1,
     mD: 0,
     rate: 0.011376894745 }
 }
Run Code Online (Sandbox Code Playgroud)

每个键都是一个“推荐标识符”,每个值都是推荐属性的字典。

我想获得一组推荐 ID,按“速率”属性排序(降序):

//sortedRecommendations
['4A49B2C5-62A6-494B-BE77-FBEF5C102579',
'036EA860-FDF1-40DA-8915-A2F02241DC7D',
'014A8C3D-FE99-4DE3-9F9F-F197A3CB270F',
'640674E4-5080-4BFD-983F-330D1C9150D0']
Run Code Online (Sandbox Code Playgroud)

我想我应该首先将我的字典(不可排序)转换为数组(可排序)。但后来我找不到获得预期结果的方法......

javascript sorting dictionary

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