首页 > 编程语言 >Mac开发_NSTreeNode

Mac开发_NSTreeNode

时间:2023-04-21 15:36:22浏览次数:34  
标签:对象 指定 节点 Mac 开发 NSTreeNode 排序 modelObject

1、创建示例

2、API说明

@interface NSTreeNode : NSObject

/**
 * @brief 创建一个包含指定modelObject对象的新树节点
 *
 * @param modelObject    表示该节点的modelObject对象,可为nil
 * @return               新创建的树节点
 *
 * @discussion           该方法创建了一个新的NSTreeNode对象,该对象的representedObject属性被设置为指定的modelObject对象。
 *                       使用该方法可以快速创建一个用于作为树节点的对象,并将其关联到指定的modelObject上。
 *                       例如,当需要将一个modelObject插入到树中时,可以使用该方法来创建一个树节点对象,并将相应的modelObject关联到该节点上。
 */
+ (instancetype)treeNodeWithRepresentedObject:(nullable id)modelObject;

/**
 * @brief 创建一个包含指定modelObject对象的新树节点
 *
 * @param modelObject    表示该节点的modelObject对象,可为nil
 * @return               新创建的树节点
 *
 * @discussion           该方法创建了一个新的NSTreeNode对象,该对象的representedObject属性被设置为指定的modelObject对象。
 *                       使用该方法可以快速创建一个用于作为树节点的对象,并将其关联到指定的modelObject上。
 *                       例如,当需要将一个modelObject插入到树中时,可以使用该方法来创建一个树节点对象,并将相应的modelObject关联到该节点上。
 */
- (instancetype)initWithRepresentedObject:(nullable id)modelObject;

/**
 * @brief 查找指定位置下的节点,并返回该节点
 *
 * @param indexPath    指定位置所代表的NSIndexPath对象
 * @return             该位置下的节点,如果指定位置不存在,则返回nil。
 *
 * @discussion         该方法会在NSTreeNode及其子节点中查找指定位置下的节点,并返回该节点。
 *                     例如,当需要表示一个文件系统的树结构时,可以使用该方法来查找指定的文件夹节点,并在其下创建子节点。
 */
- (nullable NSTreeNode *)descendantNodeAtIndexPath:(NSIndexPath *)indexPath;

/**
 * @brief 使用指定的排序描述符对节点进行排序,可选择是否扩展到子节点
 *
 * @param sortDescriptors    指定的排序描述符的数组
 * @param recursively        是否扩展到子节点;YES表示扩展到子节点,NO表示仅对当前节点进行排序
 *
 * @discussion              该方法会对节点进行排序,使用指定的排序描述符进行比较。如果设置了recursively参数,也会对子节点进行排序。
 *                          例如,当需要按名称对文件系统的树结构进行排序时,可以使用该方法并提供适当的排序描述符来实现。
 */
- (void)sortWithSortDescriptors:(NSArray<NSSortDescriptor *> *)sortDescriptors recursively:(BOOL)recursively;

/** 该节点所表示的对象 */
@property(nullable, readonly, strong) id representedObject;
/** 该节点在树中的路径 */
@property(readonly, strong) NSIndexPath *indexPath;
/** 该节点是否为叶节点 */
@property(getter=isLeaf, readonly) BOOL leaf;
/** 该节点的子节点数组 */
@property(nullable, readonly, copy) NSArray<NSTreeNode *> *childNodes;
/** 可变的子节点数组 */
@property(readonly, strong) NSMutableArray<NSTreeNode *> *mutableChildNodes;
/** 该节点的父节点 */
@property(nullable, readonly, weak) NSTreeNode *parentNode;

@end

标签:对象,指定,节点,Mac,开发,NSTreeNode,排序,modelObject
From: https://www.cnblogs.com/CH520/p/17336682.html

相关文章

  • 图像智能降噪工具:Topaz Photo AI for Mac v1.3.1
    TopazPhotoAI是一款适用于Mac的图像处理软件,它使用人工智能技术对照片进行编辑和优化。该软件提供了多种强大的功能,帮助用户轻松地改善图像质量,并实现自定义的效果。TopazPhotoAI支持多种文件格式,包括JPEG、TIFF、PNG、RAW等,并且能够自动检测并修复许多常见的问题,例如模糊、噪......
  • java EE开发之Servlet第十一课:反射基础三
    javaEE开发之Servlet第十一课:反射基础三1.使用反射机制形成通用sql语句1)构建insert语句publicstaticvoidsave(Objectobj){ //获取传递过来对象的Class类对象 Classc=obj.getClass(); //获取数据库连接 Connectionconn=getConn(); //准备执行SQL语句的对象(车......
  • 中移链合约常用开发介绍(三)工程化开发智能合约
    一、目的本文档基于中移链合约常用开发,介绍了工程化开发智能合约的方法。本文档将从自动生成项目展开,适合刚接触合约开发的开发人员入门工程化开发。二、智能合约介绍区块链作为一种分布式可信计算平台,去中心化是其最本质的特征。每笔交易的记录不可篡改地存储在区块链上。智能合约......
  • view PDF in emacs
    toviewPDFinemacs.‘gs’ isahardrequirement.Itneedstoinstallghostscriptoutofemacs.edit.init.el,addthefollowingstatement:  (setqdoc-view-ghostscript-program"c:/ghostscriptpath/bin/gswin64.exe")restartEMACS.......
  • vmware安装mac10.15 CPU禁用问题
    我的电脑是联想小新,CPU是AMD的,mac对AMD处理器不是很友好,所以在安装的时候老是遇到各种各样的问题其中最烦的就是CPU禁用的问题,查过很多博主写的,都是在虚拟机名称.vmx的最后加上cpuid,但是我也不知道这里要写哪种id才是对的,就只能一个个的去试,有的博主写的是inter的cpu,有的是amd的c......
  • Node + Express 后台开发 —— 起步
    Node+Express后台开发——起步前面陆续学习了一下node、npm、模块,也稍尝试Express,感觉得换一个思路加快进行。比如笔者对前端的开发已较熟悉,如果领导给一个内部小网站的需求,难道说你得给我配置一个后端?又不是做一个复杂的后端,只是简单的数据存储(增删改查)、上传文件、下......
  • mock开发:问题及解决
    1、我想在cli的函数中给wsc对象的某个属性赋值考虑以下三种方案:回调:需要把函数作为参数。这个匿名函数的参数不可修改,而且是来自控制台输入,没办法。context:把context本身作为参数传递,context里面放wsc对象。还是改不了参数,没办法。全局:只能全局了,把wsc声明为全局变量。var......
  • H5混合开发二维码扫描以及调用本地摄像头
    H5混合开发二维码扫描以及调用本地摄像头 [转]http://www.jianshu.com/p/c952b3a5e1d2今天主管给了我个需求,说要用混合开发,用H5调用本地摄像头进行扫描二维码,我之前有做过原生安卓的二维码扫一扫,主要是通过调用zxing插件进行操作的,其中还弄了个闪光灯.但是纯H5的没接触......
  • M1 Mac Xcode模拟器无法运行
    from:https://www.jianshu.com/p/87a5cca2a490 新版本的M1芯片运行模拟器报CocoaPods库(如:WechatOpenSDK报arm64错误)错误,是因为M1兼容问题,解决办法有两种如下:强烈推荐方法2方法1:强制打开xcode对x86的支持,有缺点:因为还是采用x86,编译速度很慢。关闭xcode--应用程序--xocde--......
  • Flutter组件化开发方案
    原文地址zhuanlan.zhihu.comFlutter组件化开发方案残枫cps​目录收起前言1.存在的问题2.改进点3.从PlatformChannel说起4.FlutterPlugin5.Pub6.PrivatePub7.Flutter工程结构8.开发流程总结原文地址juejin.cn前言前面讲了Flutter和Native的混合开发模式,Flutter作为......