iOS 基础类解析 - NSData、NSMutableData
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
NSData Class Reference
Inherits from |
NSObject |
Conforms to |
NSCopying NSMutableCopying NSSecureCoding NSObject (NSObject) |
Framework |
/System/Library/Frameworks/Foundation.framework |
Availability |
Available in iOS 2.0 and later. |
Declared in |
NSData.h |
Companion guides |
Binary Data Programming Guide Property List Programming Guide |
Related sample code |
Overview
NSData
and its mutable subclass NSMutableData
provide
data objects, object-oriented wrappers for byte buffers. Data objects let simple allocated buffers (that is, data with no embedded pointers) take on the behavior of Foundation objects.
NSData
creates static data objects, and NSMutableData
creates
dynamic data objects. NSData
and NSMutableData
are typically used for data storage and are
also useful in Distributed Objects applications, where data contained in data objects can be copied or moved between applications.
The size of the data is subject to a theoretical limit of about 8 ExaBytes (in practice, the limit should not be a factor).
NSData
is “toll-free bridged” with its Core Foundation counterpart, CFDataRef
.
See “Toll-Free
Bridging” for more information on toll-free bridging.
Tasks
Creating Data Objects
+ data
+ dataWithBytes:length:
+ dataWithBytesNoCopy:length:
+ dataWithBytesNoCopy:length:freeWhenDone:
+ dataWithContentsOfFile:
+ dataWithContentsOfFile:options:error:
+ dataWithContentsOfURL:
+ dataWithContentsOfURL:options:error:
+ dataWithData:
– initWithBase64EncodedData:options:
– initWithBase64EncodedString:options:
– initWithBytes:length:
– initWithBytesNoCopy:length:
– initWithBytesNoCopy:length:deallocator:
– initWithBytesNoCopy:length:freeWhenDone:
– initWithContentsOfFile:
– initWithContentsOfFile:options:error:
– initWithContentsOfURL:
– initWithContentsOfURL:options:error:
– initWithData:
– initWithBase64Encoding:
Deprecated
in iOS 7.0+ dataWithContentsOfMappedFile:
Deprecated
in iOS 5.0– initWithContentsOfMappedFile:
Deprecated
in iOS 5.0
Accessing Data
– bytes
– description
– enumerateByteRangesUsingBlock:
– getBytes:length:
– getBytes:range:
– subdataWithRange:
– rangeOfData:options:range:
– getBytes:
Deprecated
in iOS 4.0
Base-64 Encoding
– base64EncodedDataWithOptions:
– base64EncodedStringWithOptions:
– base64Encoding
Deprecated
in iOS 7.0
Testing Data
Storing Data
– writeToFile:atomically:
– writeToFile:options:error:
– writeToURL:atomically:
– writeToURL:options:error:
Copyright 2014 Apple Inc. All Rights Reserved. Terms of Use | Privacy
Policy | Updated: 2014-02-11