.............好吧 我看了看发现全是英文((⊙o⊙)…,这不是废话么).既然是废话,那咱们直接上干货(求各位看官赎罪,我也只是刚刚了解到基本的用法)
打印出来有助于检查文件是不是被写进去了,但是这里我发现了一个问题,不过不影响读取,稍后我在抛出这个问题
我来解释一下这个鬼的几个参数,第一个使我们路径转成的char类型,没办法,纯C的东西.后面的是可变长度参数类型,这里填写的是我们获取的权限,我在网上找了一些后面参数的解释
搞定这些之后我们需要给gcd搞一个通道channle,创建通道的方式也是有好几种,我先给大家介绍一下创建通道的几个参数吧
dispatch_io_create_with_path(dispatch_io_type_t type, const char *path, int oflag, mode_t mode, dispatch_queue_t queue, void (^cleanup_handler)(int error));
另外一个是 1 需要我们创建一个offset参数用来找到file的descriptor
上面只是创建通道的一种方式,如果我记得不错的话应该是一共有4种,其他的各位看官们可以自己试试
然后我们开始把上面这句话搞到gcd的data里面去
dispatch_data_t datas = dispatch_data_create(daxiao, size, myQueue, NULL);
这样我们就可以把Hello World !写入文件了,从路径打开文件查看,的确写入了,但是不知道为何后面会多出许多没用的东西来,这个也是我最一开始提到的问题,目前我还没有闹明白,如果哪位大神知道是咋回事,还请告知小弟,不胜感激!!!
下面我们开始读取已经写好的文件
第一行就是我说的设定最高读取上限,后面那个1 是最高读取1字节,所以如果你运行成功后会发现 dispatch_io_read后面的回调block会走好几遍,也就是说
好吧,我文笔有限,后面我会继续讲解GCD数据持久化的另外一种方式,不过大同小异,有兴趣的看官可以继续到我这里来看看.
最后:由于我也是刚刚了解这个东西,再加上本人英语渣渣,难免会有错误的敌方,欢迎各位大神不吝赐教,指出错误,小弟在此拜谢!

