#import <Foundation/Foundation.h>

int main(int argc,
const char * argv[]) {

#if

//    从面向对象的角度来分析这个问题

//    1.由于目的是扫描指定文件夹下的全部文件信息,所以须要一个文件管理者的对象

NSFileManager *fileManager =
nil;

fileManager = [NSFileManager defaultManager];
//得到文件管理者对象

//    2.须要知道怎样获取home文件夹

NSString *path = [@"~" stringByExpandingTildeInPath];

//    3.怎样遍历文件夹下的全部文件(构建文件枚举对象)

NSDirectoryEnumerator *dirEnum = [fileManager enumeratorAtPath:path];

//    4.得到文件夹下的文件后,
推断文件的后缀是不是.c文件

//    5.须要构建一个可变数组,用于存放查找到的.c文件。

假设是.c文件,就放到数组里

NSMutableArray *arrayFiles = [NSMutableArray arrayWithCapacity:];

#if

NSString *fileName = [dirEnum nextObject];

while (fileName !=
nil) {

if ([[fileName pathExtension] isEqualToString:@"c"])

{

[arrayFile addObject:fileName];

}

fileName = [dirEnum nextObject];

}

#endif

NSString *fileName =
nil;

while ((fileName = [dirEnum nextObject]) !=
nil)

{

if ([[fileName pathExtension] isEqualToString:@"c"])

{

[arrayFiles addObject:fileName];

}

}

//    6.遍历数组的全部元素。
然后将其打印到屏幕上

for (NSString *name
in arrayFiles) {

NSLog(@"%@",name);

}

#endif

NSFileManager *fileManager = [NSFileManager defaultManager];

NSString *home;

home = [@"~" stringByExpandingTildeInPath];

NSMutableArray *files = [NSMutableArray arrayWithCapacity:];

//    这里的高速枚举相当于

//    NSDirectoryEnumerator *dicEnumber = [fileManager enumeratorAtPath:home];

//    NSString *fileName = [dicEnumber nextObject];

for (NSString *fileName
in [fileManager enumeratorAtPath:home]) {

if ([[fileName pathExtension] isEqualToString:@"c"]) {

[files addObject:fileName];

}

}

for (NSString *name
in files) {

NSLog(@"%@",name);

}

;

}


OC便利方法的更多相关文章

  1. OC:方法

    三种可见度 1.@public 被public 修饰的变量可以在外部(再声明一个新的类,也能访问) 和 该类的内部(在该类的.m文件内部)被访问,这样就可以在 main 函数中访问 @public 一 ...

  2. WKWebView--JS调用OC的方法

    WKWebView---JS调用OC方法 一.使用的协议进行简单的介绍 1.在WKWebView中OC和JS交互也非常简单,WebKit的库中有个代理WKScriptMessageHandler就是专 ...

  3. oc 工厂方法

    通过上例看oc创建实例有点麻烦,oc里面可以创建工厂方法可以让这个操作更简单一些(其实就是c#或者java里面的静态方法). 新建一个“Cocoa Touch Class”文件,命名为People P ...

  4. oc 调用c语言方法和oc的方法调用

    //c语方的方法 void sayHello(){ printf("Hello OC"); } int main(int argc, char * argv[]) { sayHel ...

  5. 欧莱雅浅谈OC中方法调用的顺序中的Category

    OC特有的分类Category,依赖于类.它可以在不改变原来的类内容的基础上,为类增加一些方法.分类的使用注意: (1)分类只能增加方法,不能增加成员变量: (2)在分类方法的实现中可以访问原来类中的 ...

  6. OC中-方法到底是如何使用的?

    方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明.定义和使用,C语言不能声明.定义和使用. 1.类方法以+号开头,对象方法以-号开头+ (void) init;  ...

  7. OC之方法的声明实现和调用

    1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementati ...

  8. oc底层方法调用流程

    1.对象方法保存到类对象里面,每个类对象中都有一个方法列表.类方法保存在元类中方法列表 a.通过isa指针去对应的类中查找: b.生成方法编号,根据方法编号查找对应的方法(找到只是最终实现地址,根据地 ...

  9. OC循环方法推荐-块循环遍历(比for循环好用)

    最近在看一本书<Effective OC 2.0>,今天看到有个tip是OC适中循环各自优劣性,作者最终推荐此块循环. 阅读时思考了下块循环是否方便实现内部循环终止外部循环的问题. 于是做 ...

随机推荐

  1. Rx = Observables + LINQ + Schedulers

    The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using ...

  2. swfit的特点

    swfit的特点: 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swift不分.h和.m文件,一个类只有.swi ...

  3. ActiveMQ学习笔记(2)----JMS的基本概念和模型

    1. JMS 的基本概念 1. JMS是什么? JMS Java Message Service,Java消息服务,是Java EE中的一种技术. 2. JMS规范 JMS定义了Java中访问消息中间 ...

  4. moment.js获取本周本月本年的开始日期和结束日期

    //获取本日 const startDate = moment().format('YYYY-MM-DD'); const startDate = moment().format('YYYY-MM-D ...

  5. NodeJS学习笔记 (5)网络服务-http-req(ok)

    原文:https://github.com/chyingp/nodejs-learning-guide 自己敲代码: 概览 本文的重点会放在req这个对象上.前面已经提到,它其实是http.Incom ...

  6. 【问题】解决python3不支持mysqldb

    Django框架使用的还是python2.x的MySQLdb,而python3.x使用的是pymysql,centos7上默认安装的python2.7,自己安装了python3.6的版本,在运行dja ...

  7. const int *a与int *const a,const int *const a的区别

    来源:https://blog.csdn.net/zhangheng837964767/article/details/33783511 关键问题点:const 属于修饰符 ,关键是看const 修饰 ...

  8. UVa 10954 Add All 贪心

    贪心   每一次取最小的两个数,注意相加的数也要算' #include<cstring> #include<iostream> #include<cstdio> # ...

  9. 【CTO辩论会】移动开发人员忠于技术or 背离技术

    第一期CTO辩论会结束后,大家在微信群中讨论,学什么编程语言好.有位官人直呼"劳力者治于人,苦差,不学也罢". 在IT.科技变革世界的今天,移动开发人员成为一个很时髦的工种. 就连 ...

  10. 提高FPGA速度的quartus编译选项

    Turning on some optimizations in Quartus II may help increase it. Here are some you may want to try: ...