iOS 數據類型之間的轉換

jopen 10年前發布 | 104K 次閱讀 IOS iOS開發 移動開發

在編碼過程中,數據的處理是必要的。眾多數據中,NSString、NSData、NSArray、 NSDictionary等數據類型是常用的,對付它們容易,但是在多個數據類型之間轉換,就需要技巧啦。(可能不全面,根據LZ本身項目需求,一直在添加,望給大家提供方便) 在編碼過程中,數據的處理是必要的。眾多數據中,NSString、NSData、NSArray、NSDictionary等數據類型是常用的,對付它們容易,但是在多個數據類型之間轉換,就需要技巧啦。(可能不全面,根據LZ本身項目需求,一直在添加,望給大家提供方便)

1、NSString相關

     (1)NSDictionary轉換成NSString:

//用字符將NSArray中的元素拼接起來
    NSArray *array = [NSArray arrayWithObjects:@"hello",@"world",nil];    
      
//如要用,:等字符串拼接,只需將下面的@" "空格換成@","或@":"即可    
    NSString *string = [array componentsJoinedByString:@" "];    
    NSLog(@"string = %@",string);

     (2)char* 轉換成NSString:

 NSString *dataStr=[NSString stringWithCString:(char*)  encoding:NSUTF8StringEncoding];

     (3)NSData轉換成NSString:

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

2、NSDictionary相關

      (1)字典NSDictionary轉成Json字符串

- (NSString*)dictionaryToJson:(NSDictionary *)dic
{
    NSError *parseError = nil;
    NSData  *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}

      (2)NSString轉換成NSDictionary

 NSDictionary *dic = [dicStr JSONValue] ;

3、NSData相關

      (1)Byte轉NSData

NSData *data = [NSData dataWithBytes: bytes  length:strlen(packet->getPayload())];

 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!