码迷,mamicode.com
首页 > 其他好文 > 详细

Foundation中工具类方法

时间:2015-11-23 23:12:33      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:

  一、NSNumber

     NSArrayNSDictionary都不能存储数字类型的数字  只能存储对象类型的数据  所以便有了NSNumber

+ (NSNumber *)numberWithChar:(char)value;
+ (NSNumber *)numberWithUnsignedChar:(unsigned char)value;
+ (NSNumber *)numberWithShort:(short)value;
+ (NSNumber *)numberWithUnsignedShort:(unsigned short)value;
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithUnsignedInt:(unsigned int)value;
+ (NSNumber *)numberWithLong:(long)value;
+ (NSNumber *)numberWithUnsignedLong:(unsigned long)value;
+ (NSNumber *)numberWithLongLong:(long long)value;
+ (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;
+ (NSNumber *)numberWithFloat:(float)value;
+ (NSNumber *)numberWithDouble:(double)value;
+ (NSNumber *)numberWithBool:(BOOL)value;
+ (NSNumber *)numberWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0);
+ (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0);
  此上都是一个些普通的数据类型如何转换 相信大家都应该能看明白 在这我就不一一介绍了  

    

  二、NSValue

     NSNumberNSValue的子类 NSNumber只能存入数据类型的东西;NSValue是可以放任意类型的;比如:结构体等

存入

  + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type;

  实例:
     // valueWithBytes: 接收一个指针, 需要传递需要包装的结构体的变量的地址
        // objCType: 需要传递需要包装的数据类型      @encode    Person 在这里的为结构体
    NSValue *pValue = [NSValue valueWithBytes:&p objCType:@encode(Person)];
读取
  
    - (void)getValue:(void *)value;               //注意  传入的是一个指针
  实例
          Person res;
         [pValue getValue:&res];

  三、NSDate

     1、NSDate创建

  NSDate *now = [NSDate date];

- (instancetype)dateByAddingTimeInterval:(NSTimeInterval)ti NS_AVAILABLE(10_6, 2_0);

  NSDate *date = [now dateByAddingTimeInterval:10];   //追加10秒

+ (NSTimeZone *)systemTimeZone;               //系统时间
+ (NSTimeZone *)localTimeZone;                //本地时间
     2、时间格式化  NSDate --> NSString
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];// 创建一个时间格式化对象
formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒 Z";
    // 告诉时间格式化对象, 按照什么样的格式来格式化时间
NSString *res = [formatter stringFromDate:now];
NSLog(@"res = %@", res);    //如果此刻输出那么就是   多少年多少分多少日。。。。。
     3、NSString --> NSDate
NSString *str = @"2015-06-29 07:05:26 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 注意: 如果是从NSString格式化为NSDate, 那么dateFormat的格式, 必须和字符串中的时间格式一致, 否则可能转换失败
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
NSDate *date = [formatter dateFromString:str];
NSLog(@"%@", date);

 

    四、NSCalendar

  NSCalendar *calendar1 = [NSCalendar currentCalendar]; //这是一个单例不管怎么创建都只有一个
技术分享
 
 有些地方因为东西实在太多  就截图了谅解   ?????? 

  五、NSFileManager

NSFileManager *manager = [NSFileManager defaultManager];  //创建NSFileManager

     1.判断一个文件或者文件夹是否存在
BOOL flag = [manager fileExistsAtPath:@"/Users/username/Desktop/video/AV.mp4"];

     2.判断一个文件是否存在, 并且判断它是否是一个文件夹   

// 注意: 该方法的返回值是说明传入的路径对应的文件或文件夹是否存在
// 第二个参数是用于保存判断结果的, 如果是一个目录, 那么就会赋值为YES, 如果不是就赋值为NO
BOOL dir = NO;   
BOOL flag = [manager fileExistsAtPath:@"/Users/username/Desktop/video/AV.mp4"  isDirectory:&dir];
  3.获取文件或文件夹的属性
NSDictionary *info = [manager attributesOfItemAtPath:@"/Users/username/Desktop/video/AV.mp4" error:nil];
      4.获取文件夹中所有的文件
  //只能得到所有文件而不能得到文件夹
NSArray *res = [manager contentsOfDirectoryAtPath:@"/Users/username/Desktop/video" error:nil];
  //能得到所有文件以及文件夹中的文件
NSArray *res = [manager subpathsOfDirectoryAtPath:@"/Users/username/Desktop/video" error:nil];
  5.创建文件夹
   // createDirectoryAtPath: 告诉系统文件夹需要创建到什么位置
      // withIntermediateDirectories: 如果指定的文件中有一些文件夹不存在, 是否自动创建不存在的文件夹 
      // attributes: 指定创建出来的文件夹的属性
      // error: 是否创建成功, 如果失败会给传入的参数赋值
      // 注意: 该方法只能用于创建文件夹, 不能用于创建文件
BOOL flag = [manager createDirectoryAtPath:@"/Users/username/Desktop/abc/video" withIntermediateDirectories:YES attributes:nil error:nil];
  6.创建文件
  // createFileAtPath: 指定文件创建出来的位置
   // contents : 文件中的内容
     // attributes: 创建出来的文件的属性  
     // NSData : 二进制数据
     // 注意: 该方法只能用于创建文件, 不能用于创建文件夹
NSString *str = @"LitterL真帅";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
[manager createFileAtPath:@"/Users/username/Desktop/abc.txt" contents:data attributes:nil];
 
 

Foundation中工具类方法

标签:

原文地址:http://www.cnblogs.com/ljy-666/p/4986557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!