標籤:
ios中常用資料類型相互轉換
//1. NSMutableArray和NSArray互轉
// 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. NSData和NSString互轉
// NSData轉為NSString
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// NSString轉為NSData對象
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
//3. NSString和NSURL互轉
// 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. NSArray和NSData互轉
// NSArray轉為NSData
NSData *data = [NSKeyedArchiver archivedDataWithRootObject: array];
// NSData轉為NSArray
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData: data];
ios中常用資料類型相互轉換