首页 > 代码库 > iOS 基础类解析 - NSData

iOS 基础类解析 - NSData

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
AdvancedURLConnections
CryptoExercise
EADemo
MVCNetworking
SimpleURLConnections

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

  • – isEqualToData:
  • – length

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