小编fel*_*xmp的帖子

在 NSTableCellView 中创建 NSTextField firstResponder()

对于那些不喜欢阅读 20 条评论以寻找答案的人。这是对我有用的:

  1. tableView 是基于视图的,而不是基于单元格的(属性检查器)
  2. tableView.reloadData() 不够快。使用 insertRow(at[0]:withAnimation:.leftSlide) 代替工作正常
  3. 确保 NSTextField 和 NSTextFieldCell 是可编辑的(属性检查器)

最终代码:

tableViewAlarms.insertRows(at: [0], withAnimation: .effectFade)

let keyView = tableViewAlarms.view(atColumn: 0, row: 0, makeIfNecessary: false) as! NSTableCellView

self.view.window!.makeFirstResponder(keyView.textField)
Run Code Online (Sandbox Code Playgroud)

问题:

有一个问题。我一直坚持让我的 NSTableView 按照我想要的方式工作。我是一个初学者,使用类、继承和视图给我带来了很多麻烦。

屏幕截图,NSTextField 被激活

您可以通过按“+”按钮向 NSTableView 添加一行。

第一个 tableColumn 中的 NSTextField 是可编辑的,双击时开始编辑

现在我希望在添加一行时自动激活第一列中的 NSTextField(显示光标,通过键盘响应文本输入)。

到目前为止,我已经尝试过:

class NSTextFieldSubClass: NSTextField {

    override func becomeFirstResponder() -> Bool {
        return true
    }

}
Run Code Online (Sandbox Code Playgroud)

我还使用了单元格的绑定(或者准确地说是 NSTextField 本身),但是由于我真的不知道如何绕过这些,所以它无处可去

我认为是要走的路:

创建单元格时使 NSTextField 成为 firstResponder,但我不知道如何。任何帮助是极大的赞赏!!

另外:当光标闪烁时,NSTextField 的状态究竟是如何调用的?

编辑:

至于子类,这就是我尝试的全部:

class NSTextFieldSubClass: NSTextField {

    override func …
Run Code Online (Sandbox Code Playgroud)

macos nstextfield nstableview swift

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

Firestore 在完全定义的 JSON 中找到未定义的值,键甚至不存在

我正在尝试将 JSON 对象上传到 Google Firestore。

将对象设置为 Firestore 文档时,我的代码会引发以下错误:

Error: Value for argument "data" is not a valid Firestore document. 
Cannot use "undefined" as a Firestore value 
(found in field audit.`20`.requests.`0`.lrEndTimeDeltaMs).
Run Code Online (Sandbox Code Playgroud)

现在我做的第一件事是在上传之前记录对象以检查未定义的值:

console.log(JSON.stringify(resultsToUpload));

return database
  .collection("foo1")
  .doc("bar1")
  .set(resultsToUpload);
Run Code Online (Sandbox Code Playgroud)

不仅在对象中定义了所有值,而且提到的字段audit.`20`.requests.`0`.lrEndTimeDeltaMs甚至不存在:

resultsToUpload = {  
  "audit":{   
    "20":{  
      "ronaldScore":3,
      "id":"network-requests",
      "requests":[  
        {  
          "url":"https://www.example.com/",
          "startTime":0,
          "endTime":62.16699999640696,
          "transferSize":15794,
          "resourceSize":78243,
          "statusCode":200,
          "mimeType":"text/html",
          "resourceType":"Document"
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

数据来自 Google Lighthouse Audit。

计算字符串化 JSON 对象的 UTF-8 字符串长度会得到 30 MB 的大小。

1) 定义了所有值(有些为空,这应该不是问题)。

2) JSON 中甚至不存在上述字段。

我的问题是:这怎么会发生?一个字段怎么会出现?另外:我将如何解决这个问题?

json undefined node.js firebase google-cloud-firestore

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