场景:主要应用于界面布局中可隐藏数据和展开显示数据。
重点:理解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;