oc树形结构

以下是一个简单的示例,演示了如何定义一个树状结构:

@interface TreeNode : NSObject

@property (nonatomic, strong) NSString *value;
@property (nonatomic, strong) NSMutableArray<TreeNode *> *children; // 重点

@end

@implementation TreeNode

- (instancetype)init {
    self = [super init];
    if (self) {
        _children = [NSMutableArray array];
    }
    return self;
}

@end

在上面的示例中,TreeNode类表示树中的一个节点。每个节点具有一个值(value)以及一个子节点数组(children),用于存储它的子节点。

通过使用这个类,可以创建一个树形结构,其中每个节点都可以包含任意数量的子节点。例如:

// 创建根节点
TreeNode *rootNode = [[TreeNode alloc] init];
rootNode.value = @"Root";

// 创建子节点
TreeNode *childNode1 = [[TreeNode alloc] init];
childNode1.value = @"Child 1";

TreeNode *childNode2 = [[TreeNode alloc] init];
childNode2.value = @"Child 2";

// 将子节点添加到根节点
[rootNode.children addObject:childNode1];
[rootNode.children addObject:childNode2];

通过这种方式,可以构建具有任意层次和结构的树形类。每个节点可以包含自己的子节点,并且可以通过遍历树来访问和操作节点及其属性。

需要注意的是,这只是一个简单的示例,实际应用中可能需要根据具体的需求进行更复杂的设计和实现

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容