- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的项目中,NSTreeController
绑定(bind)到 NSOutlineView
( cocoa 绑定(bind))。由于某种原因我无法使用NSPredicate
从Core Data中过滤数据。因此,我尝试覆盖 NSTreeController
的 arrangedObjects
,但覆盖的 arrangedObjects
甚至还没有被解雇。 (我在其中设置了一个调试断点。)代码编译良好,并且我已经将实例更改为我的 CleanTreeController
。我只找到an unanswered question asked a decade ago在邮件列表中。
// Subclass of NSTreeController
class CleanTreeController: NSTreeController {
init() {
// This gets called.
super.init(content: nil)
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override var arrangedObjects: Any {
let oldArranged = super.arrangedObjects
let selector = NSSelectorFromString("childNodes")
guard let oldChildren = (oldArranged as! NSObject)
.perform(selector).takeUnretainedValue() as? [NSTreeNode]
else
{
return oldArranged
}
let children = oldChildren.filter { (treeNode) in
//... do some filtering
}
return TreeNodeProxy(with: children)
}
}
// Homemade NSTreeNodeProxy
class TreeNodeProxy : NSObject {
fileprivate var rootNode : NSTreeNode
init(with children : [NSTreeNode]) {
self.rootNode = NSTreeNode()
self.rootNode.mutableChildren.addObjects(from: children)
}
@objc(childNodes)
var children: [NSTreeNode]? {
return rootNode.children
}
@objc(descendantNodeAtIndexPath:)
func descendant(at indexPath: IndexPath) -> NSTreeNode? {
return rootNode.descendant(at: indexPath)
}
}
我发现了
The value returned by NSTreeController's arrangedObjects method is opaque. You should only observe this property to determine that a change has occurred.
在 doc 。那么,NSOutineView
如何在不(直接)读取 arrangedObjects
的情况下使用它呢?
最佳答案
在 xib 或代码中设置 NSTreeController
的 fetchPredicate
。
关于swift - 重写 NSTreeController 的排列对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42919957/
我有一个 NSTreeController 来管理一个实体(核心数据模型)和一个 NSOutlineView 来显示该树。 我希望树显示一些与底层核心数据模型中的实体不对应的特殊节点。我该怎么做呢?我
当 NSTreeController -(void)addChild:(id)sender 被调用时,有没有办法获取创建的 NSManagedEntity ? 文档提到此方法的结果被推迟到下一个循环运
背景 我在我的 Cocoa 应用程序中构建了一个源列表(类似于 iTunes 等)。 我有一个带有 Value 的 NSOutlineView绑定(bind)到arrangedObjects.name
我有一个(我认为)非常简单的情况,其中 NSTreeController 绑定(bind)到根对象数组,每个根对象可能有一些子对象。我正在使用 NSBrowser 来展示它们。 它们显示良好并且层次结
我有一个 NSTreeController,它绑定(bind)到一个类。 NSOutlineView dirTree 绑定(bind)到 NSTreeController 特别是大纲 View 内容绑
我在程序中将 NSTreecontroller 与 NSOutlineView 结合使用,并且我的程序不断抛出:malloc: *** error for object 0x1d70d0: doubl
我正在开发桌面可可应用程序。在应用程序中,我有一个基于视图的NSOutlineView绑定到NSTreeController: NSTreeController处于实体模式,由Core Data驱
在 Marcus Zarra 的《核心数据》一书中的第 40 页中,他建议,由于 NSTreeController 需要相同的 key 来访问层次结构中的所有对象(例如子对象),并且这可能意味着意义不
我有一个 NSTreeController (向 NSOutlineView 提供内容)。我希望顶级对象属于一个类,而所有其他对象(因此,任何级别的子对象)属于另一个类。解决这个问题的最佳方法是什么?
正如你们中许多人可能知道的那样,绑定(bind)到大纲 View 的 NSTreeController 可以在呈现核心数据实体时显示重复项。 临时解决方案是在谓词中添加“parent == nil”,
我是 Swift 新手,正在尝试学习如何使用 NSOutlineView 实现 NSTreeController。我一直在遵循几个显示此类示例的指南,但我不断收到错误。我一步一步地遵循和/或尝试运行他
我有一个非常基本的应用程序:一个带有绑定(bind)到 NSTreeController 的 NSOutlineView 的窗口。大纲 View 显示一个简单的模型对象 (TCCard)。我添加了两个
在我的项目中,NSTreeController 绑定(bind)到 NSOutlineView( cocoa 绑定(bind))。由于某种原因我无法使用NSPredicate从Core Data中过滤
背景 带有 GC 的 Snow Leopard 10.6.4 上的核心数据应用 我有一个由 NSTreeController 使用绑定(bind)支持的 NSOutlineView 我正在后台 NSO
我正在尝试将 NSTreeController 的“arrangedObjects”绑定(bind)到自定义 View 的“managedContent”(例如,以便它可以显示自定义轮廓)。在 set
好的各位,这是我的问题。 我将使用 CoreData + Source List + NSTreeController 创建类似于 Finder(或 iTunes,如果您愿意)的源列表的内容。 我的问
有人知道一个好的解决方法或黑客从 NSTreeController add: 或 addChild: 方法获取指向新创建的节点的指针吗? 最佳答案 一种方法是让它选择插入的对象,然后调用 select
如何使用搜索框来过滤 NSOutlineView/NSTreeController?我知道这与绑定(bind)和谓词有关。但没有具体说怎么做。有人可以指导我完成过滤 NSOutlineView/NST
我有一个简单的 NSOutlineView 绑定(bind)到 NSTreeController,它提供对我的分层数据模型的访问。我想将其设为主/详细 View ,并在某些绑定(bind) View
给定 NSTreeController 表示的模型对象,如何在树中找到它们的索引路径并随后选择它们?这似乎是一个非常明显的问题,但我似乎找不到任何引用。有什么想法吗? 最佳答案 没有“简单”的方法,您
我是一名优秀的程序员,十分优秀!