IOS 基本數據類型 -NSData


1、NSData  

  注釋:

    用於存儲二進制的數據類型

NSData類提供了一種簡單的方式,它用來設置緩沖區、將文件的內容讀入緩沖區,或將緩沖區的內容寫到一個文件。

不變緩沖區(NSData類),也可定義可變的緩沖區(NSMutableData類)。

  NSData 、 NSString互轉:

    NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSString轉換成NSData類型

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

  NSData 、Byte 互轉

    NSString *testString = @"1234567890"; 

    NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];

    Byte *testByte = (Byte *)[testData bytes];

    Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};

    NSData *adata = [[NSData alloc] initWithBytes:byte length:24]; 

  NSData轉UIImage

    UIImage *aimage = [UIImage imageWithData: data];

  NSData轉NSDictionary

@interface NSDictionary (Helpers)

+ (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data;

@end

@implementation NSDictionary (Helpers) 

+ (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data { 
    CFPropertyListRef plist =  CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)data, 
                                                               kCFPropertyListImmutable, 
                                                               NULL); 
    if(plist == nil) return nil; 
    if ([(id)plist isKindOfClass:[NSDictionary class]]) { 
        return [(NSDictionary *)plist autorelease]; 
    } 
    else { 
        CFRelease(plist); 
        return nil; 
    } 

@end

NSData 應用場景 

將文件的內容讀入內存緩沖區

    NSData *fileData;

    NSFileManager *fileManager = [[NSFileManager alloc]init];

    fileData = [fileManager contentsAtPath:path];

  將緩沖區的內容寫入到一個文件中

    NSFileManager *fileManager = [[NSFileManager alloc]init];

    [fileManager createFileAtPath:path contents:fileData attributes:nil];

天下文章一大抄 該文內容根據以下博客整理

http://www.cnblogs.com/GISerYang/p/3345350.html

http://bj007.blog.51cto.com/1701577/538990/

http://blog.csdn.net/jerryvon/article/details/7350567

http://www.cnblogs.com/duchengdong/archive/2012/03/29/2422997.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM