ios中常用数据类型相互转换

ios中常用数据类型相互转换

 

    //1. NSMutableArrayNSArray互转

    // NSArray转为NSMutableArray

    NSMutableArray *arrM = [arr mutableCopy]; //方法1

    NSMutableArray *arrM = [NSMutableArray arrayWithArray:arr]; //方法2

    // NSMutableArray转为NSArray

    NSArray *arr = [arrM copy]; //方法1

    NSArray *arr = [NSArray arrayWithArray: arrM]; //方法2

    

    //2. NSDataNSString互转

    // NSData转为NSString

    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    // NSString转为NSData对象

    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

    

    //3. NSStringNSURL互转

    // NSString转为NSURL

    NSString *str = @"http://www.baidu.com/天气/20160315"; //含有中文字符的str需要先编码,才能转为url

    NSString *urlStr = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSURL *url = [NSURL URLWithString:urlStr];

    // NSURL转为NSString

    NSString *urlStr = [url absoluteString];

    NSString *str = [urlStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //将编码的字转换成汉字

    

    //4. 字典和模型互转

    // KVC将字典转为模型

    [model setValuesForKeysWithDictionary:dict];

    // KVC将模型转为数组

    NSDictionary *dict = [model dictionaryWithValuesForKeys:@[@"name",@"age",@"dog"] ];

 

    //5. NSArrayNSData互转

    // NSArray转为NSData

    NSData *data = [NSKeyedArchiver archivedDataWithRootObject: array];

    // NSData转为NSArray

    NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData: data];

 

 

 

posted @ 2016-05-06 17:23  stevenwuzheng  阅读(559)  评论(0编辑  收藏  举报