今天刚进公司就看到昨天下午酉哥发的邮件,酉哥写了一个类,用来自动截取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不是很复杂,不过写的过程中还是遇到了一些问题,也发现了原来代码中存在的一些小问题,主要是由于不细致写错的,经过几次修改,再运行跑过之后完成了云姐给我分配的任务。
时间: 2024-10-12 16:29:40