[Cocoa]_[初级]_[使用NSOutlineView创建多根显示]

本文介绍了如何在Cocoa环境中利用NSOutlineView创建一个多级显示的界面布局,重点讲解了MqjOutlineViewDelegate中的关键方法,包括获取子节点数量和填充数据到表格的方法。通过实现自定义的NSCell,如MqjCenterTextFieldCell,以及设置NSOutlineView和NSTextField对象,可以实现界面的定制。提供了完整的项目代码下载链接。
摘要由CSDN通过智能技术生成

场景:主要应用于界面布局中可隐藏数据和展开显示数据。

重点:理解MqjOutlineViewDelegate.m文件

- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item;//获取二级节点的数量,把根节点过了掉。

- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item; //获取二级节点存放的对象,填充到表格中。

具体例子如下:

1.编写代码

OutlineViewData.h

#import <Foundation/Foundation.h>

@interface OutlineViewData : NSObject
{
    NSString *name;
    NSString *number;
   
    //表格状态标识
    BOOL isHasChild;
    BOOL isParentRoot;
    NSMutableArray *children;
}
@property (readwrite,copy) NSString *name;
@property (readwrite,copy) NSString *number;

@property (readwrite,assign) BOOL isHasChild;
@property (readwrite,assign) BOOL isParentRoot;
@property (readonly,assign) NSMutableArray *children;

-(BOOL)hasChild;
-(void)setHadChild;
+(OutlineViewData*)rootItem;
+(void)setRootItem:(OutlineViewData*)rootItem;

@end

OutlineViewData.m

#import "OutlineViewData.h"
static OutlineViewData* gRootItem = nil;

@implementation OutlineViewData
@synthesize name;
@synthesize number;

@synthesize isHasChild;
@synthesize isParentRoot;
@synthesize children;

-(id) init
{
    self =[super init];
    name = nil;
    number =@"0";
    isHasChild =NO;
    isParentRoot =NO;
    
    children = nil;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值