首页 > 代码库 > 8.21

8.21

今天刚进公司就看到昨天下午酉哥发的邮件,酉哥写了一个类,用来自动截取API的json数据。

于是我就开始着手看这个类的内容。如何使用这个类我还没有摸得很清楚,我就先把这个类的内容看了一遍。

这个类用到了单例模式,首先声明了一个共享实例的类方法,关于单例模式(singleton)我查阅了资料,有两种实现方式,第一种就是酉哥所用的方式:

+ (AccountManager *)sharedManager  {          static AccountManager *sharedAccountManagerInstance = nil;          static dispatch_once_t oncetoken;          dispatch_once(&oncetoken, ^{                  sharedAccountManagerInstance = [[self alloc] init];           });      return sharedAccountManagerInstance;  }  

第二种方法:

static AccountManager *DefaultManager = nil;     + (AccountManager *)defaultManager {      if (!DefaultManager) DefaultManager = [[self allocWithZone:NULL] init];      return DefaultManager;  }

然后按照酉哥提供的使用方法,在main函数中实例化了MATestJSONDataCapture类:

[[MATestJSONDataCapture shareTestCase] initialize:@"/tmp" // 这个路径是你指定的mac机器上的必须存在路径
apiFileName:
@"case_77_7" // 这个是apipath文件名称
dirName:@"case_77_7"]; // 这个是apipath文件和.json文件的文件夹

在对应的地方插入了截取数据的代码:

[[MATestJSONDataCapture shareTestCase] captrueOperationJSONData:operation];

但是运行程序后在/tmp文件夹中我还是没有找到名为case_77_7的文件夹。因为下午临时收到云姐给的任务,写几个case,我就暂时放下了json数据抓取的研究。

写case不是很复杂,不过写的过程中还是遇到了一些问题,也发现了原来代码中存在的一些小问题,主要是由于不细致写错的,经过几次修改,再运行跑过之后完成了云姐给我分配的任务。