iOS GCD的快速迭代
-(void)forDemo
{
//同步
for(NSIntegeri =0; i<10; i++) {
NSLog(@"%zd---%@",i,[NSThreadcurrentThread]);
}}
//开子线程和主线程一起完成遍历任务,任务的执行时并发的
-(void)applyDemo
{
/*
第一个参数:遍历的次数
第二个参数:队列(并发队列)
第三个参数:index索引
*/
dispatch_apply(10,dispatch_get_global_queue(0,0), ^(size_tindex) {
NSLog(@"%zd---%@",index,[NSThreadcurrentThread]);
});
}
//使用for循环
-(void)moveFile
{
//1.拿到文件路径
NSString*from =@"/Users/xiaomage/Desktop/from";
//2.获得目标文件路径
NSString*to =@"/Users/xiaomage/Desktop/to";
//3.得到目录下面的所有文件
NSArray*subPaths = [[NSFileManagerdefaultManager]subpathsAtPath:from];
NSLog(@"%@",subPaths);
//4.遍历所有文件,然后执行剪切操作
NSIntegercount = subPaths.count;
for(NSIntegeri =0; i< count; i++) {
//4.1拼接文件的全路径
// NSString *fullPath = [from stringByAppendingString:subPaths[i]];
//在拼接的时候会自动添加/
NSString*fullPath = [fromstringByAppendingPathComponent:subPaths[i]];
NSString*toFullPath = [tostringByAppendingPathComponent:subPaths[i]];
NSLog(@"%@",fullPath);
//4.2执行剪切操作
/*
第一个参数:要剪切的文件在哪里
第二个参数:文件应该被存到哪个位置
*/
[[NSFileManagerdefaultManager]moveItemAtPath:fullPathtoPath:toFullPatherror:nil];
NSLog(@"%@---%@--%@",fullPath,toFullPath,[NSThreadcurrentThread]);
}}
-(void)moveFileWithGCD
{
//1.拿到文件路径
NSString*from =@"/Users/xiaomage/Desktop/from";
//2.获得目标文件路径
NSString*to =@"/Users/xiaomage/Desktop/to";
//3.得到目录下面的所有文件
NSArray*subPaths = [[NSFileManagerdefaultManager]subpathsAtPath:from];
NSLog(@"%@",subPaths);
//4.遍历所有文件,然后执行剪切操作
NSIntegercount = subPaths.count;
dispatch_apply(count,dispatch_get_global_queue(0,0), ^(size_ti) {
//4.1拼接文件的全路径
// NSString *fullPath = [from stringByAppendingString:subPaths[i]];
//在拼接的时候会自动添加/
NSString*fullPath = [fromstringByAppendingPathComponent:subPaths[i]];
NSString*toFullPath = [tostringByAppendingPathComponent:subPaths[i]];
NSLog(@"%@",fullPath);
//4.2执行剪切操作
/*
第一个参数:要剪切的文件在哪里
第二个参数:文件应该被存到哪个位置
*/
[[NSFileManagerdefaultManager]moveItemAtPath:fullPathtoPath:toFullPatherror:nil];
NSLog(@"%@---%@--%@",fullPath,toFullPath,[NSThreadcurrentThread]);
});
}