OC学习中碰到的一道题目 财富值84

2016-10-27 10:54发布

操作系统中的进程,都不是无缘无故生成的,其都有自己的父进程,每个进程都由自己的父进程启动。现给定进程父子关系描述表,使用(│ ├ └ ─ )字符形象化输出这个父子关系。
类 Process 描述了进程信息,如下:

@interface Process : NSObject @property (nonatomic) NSString *name;   // 进程名 @property (nonatomic) NSArray<Process *> *children; // 子进程 @end @implementation Process -(instancetype)initWithName:(NSString*)name children:(NSArray<Process *> *)children {   if (self = [super init]) {     _name = name;     _children = children;   }   return self; } - (instancetype)initFromDumpString:(NSString*)dump {    // TODO } - (NSString*)dump {     // TODO } @end

1)你的目标是要填充这个名为dump的方法,其返回一个以字符方式输出父子关系的字符串。可以参考下面的示例。
【示例】

int main() {     Process* xcode = [[Process alloc] initWithName:@"Xcode"                                           children:@[[[Process alloc] initWithName:@"Simulator" children:nil],                                                      [[Process alloc] initWithName:@"Debugger" children:nil]]];     Process* finder = [[Process alloc] initWithName:@"Finder" children:nil];     Process* qq = [[Process alloc] initWithName:@"QQ" children:nil];     Process* launcher = [[Process alloc] initWithName:@"Launcher" children:@[xcode, finder, qq]];           NSLog(@"%@", [launcher dump]);     return 0; } /* 输出 Launcher ├─ Xcode │  ├─ Simulator │  └─ Debugger ├─ Finder └─ QQ */   

2)完成1步骤后,你需要填充名为initFromDumpString:的方法,该方法是1步骤的逆操作,其解析一个字符方式的父子关系字符串,返回一个已经初始化好的Person对象。

友情提示: 问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
0条回答

一周热门 更多>