gpt4 book ai didi

cappuccino - CPTreeController( Cappuccino )

转载 作者:行者123 更新时间:2023-12-03 13:37:58 26 4
gpt4 key购买 nike

在 Cappuccino 中构建绑定(bind)兼容的大纲 View 数据源的最佳方法是什么?即一种 CPTreeController

我的源当前是一个 jSON 对象(包含对象和数组),我想将它显示到大纲 View 中,并且能够更改其参数/获得更改通知。 (一旦加载到 CPTreeController 中,我不需要将其序列化回 JSON,我将直接使用数据源)

然后:

  • 某处是否有隐藏的 CPTreeController 或类似的库可供使用?
  • 如果我重写自己的数据源,我应该从头开始编写,还是可以轻松混合 CPDictionaries 和 CPArrays 来完成这项任务? (记住它应该符合绑定(bind))
  • 最佳答案

    通过来源搜索表明没有隐藏的 CPTreeController,因此您可以编写自己的 CPTreeController 实现并将其贡献给社区,或者您可以为特定模型实现数据源协议(protocol),如下所示:

    - (int)outlineView:(CPOutlineView)theOutlineView numberOfChildrenOfItem:(id)theItem
    {
    if (theItem == nil)
    theItem = rootNode;

    return [[theItem childNodes] count];
    }

    - (id)outlineView:(CPOutlineView)theOutlineView child:(int)theIndex ofItem:(id)theItem
    {
    if (theItem == nil)
    theItem = rootNode;

    return [[theItem childNodes] objectAtIndex:theIndex];
    }

    - (BOOL)outlineView:(CPOutlineView)theOutlineView isItemExpandable:(id)theItem
    {
    if (theItem == nil)
    theItem = rootNode;

    return [[theItem childNodes] count] > 0;
    }

    - (id)outlineView:(CPOutlineView)anOutlineView objectValueForTableColumn:(CPTableColumn)theColumn byItem:(id)theItem
    {
    return [[theItem representedObject] valueForKey:"name"];
    }

    关于cappuccino - CPTreeController( Cappuccino ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322797/

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