MGJTempStore 是一个用于临时存储数据的 Objective-C 类库
我们在开发 App 时,通常会在客户端设置一些监测点,比如「进入某个页面」或「点击某个按钮」等,这些操作会相对频繁发生,且对实时性没有很高的要求,因此没有必要立即向服务器端发送数据。这时可以使用这个小工具来临时存储这些数据,等到合适的时机(如文件大小超过 1K,或更新时间超过 60 秒等)时再发送,从而降低服务器的压力。即使发送失败,这些数据仍然存在,下次再次读取时仍然可以获取。
为了提升用户体验,有时我们希望在无网络状态下也能「假装」操作成功,只是数据在客户端返回。这时可以将这些请求先存储在本地,等到网络连接后统一发送。
为了便于故障排查或统计客户端运行情况,可能会在客户端记录一些日志。这时也可以用这个工具来实现。
MGJTempStore *store = [[MGJTempStore alloc] initWithPath:@"tmp.txt"];
[store appendData:@"foobar"]; // 1
[store consumeDataWithHandler:^(NSString *content, MGJTempStoreConsumeSuccessBlock successBlock, MGJTempStoreConsumeFailureBlock failureBlock) {
// failureBlock(); // 2
// successBlock(); // 3
});
}];
NSString
MGJTempStore 在 MIT 协议下受许可。请查阅 LICENSE 文件以获取更多信息。