gpt4 book ai didi

swift - 制作一个表格,列出字典中的所有键和值

转载 作者:搜寻专家 更新时间:2023-11-01 05:44:09 26 4
gpt4 key购买 nike

我的 AppDelegate 包含一个字典。我有一个 NSDictionaryController 绑定(bind)到 dict。然后我将 NSTableView 的两列绑定(bind)到 Dictionary Controller:

  • 第 1 列(键): Controller 键 = arrangedObjects。模型键路径 = key
  • 第 2 列(值): Controller 键 = arrangedObjects。模型键路径 = value

但是我的表是空白的。知道如何纠正这个问题吗?

我的代码:

class AppDelegate {
dynamic var dict = NSMutableDictionary()

func applicationDidFinishLaunching(aNotification: NSNotification) {
dict.setValue(1, forKey: "One")
dict.setValue(2, forKey: "Two")
}
}

我也试过:

let newObject = dictController.newObject()
newObject.setKey("One") // deprecated
newObject.setValue(1) // deprecated
dictController.addObject(newObject)

但 Xcode 表示 setKeysetValue 在 10.10.3 中已弃用。如何将对象添加到 NSDictionaryController?我正在运行 Mac OS X 10.11.4。

最佳答案

字典 Controller 看不到 dict 中的变化。您可以通过先构造字典然后分配给 dict 来解决这个问题。

func applicationDidFinishLaunching(aNotification: NSNotification) {
var tempDict = NSMutableDictionary()
tempDict.setValue(1, forKey: "One")
tempDict.setValue(2, forKey: "Two")
dict = tempDict
}

另一种解决方案是实现键值观察者合规性。

func applicationDidFinishLaunching(aNotification: NSNotification) {
willChangeValueForKey("dict")
dict.setValue(1, forKey: "One")
dict.setValue(2, forKey: "Two")
didChangeValueForKey("dict")
}

感谢@Code Different 让我意识到问题所在。

关于swift - 制作一个表格,列出字典中的所有键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com