NSData
NSData
и его непостоянный подкласс NSMutableData
обеспечьте объекты данных, объектно-ориентированные обертки для буферов байта. Объекты данных позволяют простым выделенным буферам (т.е. данные без встроенных указателей) берут поведение объектов Основы.
NSData
создает статические объекты данных, и NSMutableData
создает объекты динамических данных. NSData
и NSMutableData
обычно используются для хранения данных и также полезны в Распределенных приложениях Объектов, где данные, содержавшиеся в объектах данных, могут быть скопированы или перемещены между приложениями.
Размер данных подвергается теоретическому пределу приблизительно 8 эксабайт (на практике, предел не должен быть фактором).
NSData
“бесплатный соединенный мостом” с его Базовым дубликатом Основы, CFDataRef
. Посмотрите Бесплатное Образование моста для получения дополнительной информации о бесплатном образовании моста.
Сохранение данных
NSData
класс и его подклассы обеспечивают методы для быстро и легко сохраняют их содержание на диск. Для минимизации риска потери данных эти методы предоставляют возможность сохранения данных атомарно. Атомарные записи гарантируют, что данные или сохраняются полностью, или они перестали работать полностью. Атомарная запись начинается путем записи данных во временный файл. Если эта запись успешно выполняется, то метод перемещает временный файл в свое заключительное расположение.
В то время как атомарные операции записи минимизируют риск потери данных вследствие поврежденных или частично записанных файлов, они могут не быть надлежащими при записи во временный каталог, корневой каталог пользователя или другие публично доступные каталоги. Любое время Вы работаете с публично доступным файлом, необходимо обработать тот файл как недоверяемый и потенциально опасный ресурс. Атакующий может поставить под угрозу или повредить эти файлы. Атакующий может также заменить файлы жесткими или символьными ссылками, заставив Ваши операции записи перезаписать или повредить другие системные ресурсы.
Избегайте использования writeToURL:atomically:
метод (и связанные методы) при работе в публично доступном каталоге. Вместо этого инициализируйте NSFileHandle
объект с существующим дескриптором файла и использованием NSFileHandle
методы для безопасной записи файла.
Для получения дополнительной информации посмотрите Операции Файла Обеспечения в Безопасном Руководстве по Кодированию.
Наследование
Соответствует
-
AnyObject
-
CKRecordValue
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSMutableCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSMutableCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает пустой объект данных.
Объявление
Objective C
+ (instancetype)data
Возвращаемое значение
Пустой объект данных.
Обсуждение
Этот метод объявляется прежде всего для использования непостоянных подклассов
NSData
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает объект данных, содержащий данное число байтов, скопированных с данного буфера.
Объявление
Objective C
+ (instancetype)dataWithBytes:(const void *)
bytes
length:(NSUInteger)length
Параметры
bytes
Буферное, содержащее данные для нового объекта.
length
Число байтов для копирования с
bytes
. Это значение не должно превышать длинуbytes
.Возвращаемое значение
Объект данных, содержащий
length
байты скопированы с буфераbytes
. Возвратыnil
если не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает содержащий объект данных
length
байты от буфераbytes
.Объявление
Objective C
+ (instancetype)dataWithBytesNoCopy:(void *)
bytes
length:(NSUInteger)length
Параметры
bytes
Буферное, содержащее данные для нового объекта.
bytes
должен указать на блок памяти, выделенный сmalloc
.length
Число байтов для содержания от
bytes
. Это значение не должно превышать длинуbytes
.Возвращаемое значение
Содержащий объект данных
length
байты от буфераbytes
. Возвратыnil
если не мог бы быть создан объект данных.Обсуждение
Возвращенный объект берет владение
bytes
указатель и освобождает его на освобождении. Поэтомуbytes
должен указать на блок памяти, выделенный сmalloc
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает объект данных, содержащий данное число байтов от данного буфера.
Объявление
Objective C
+ (instancetype)dataWithBytesNoCopy:(void *)
bytes
length:(NSUInteger)length
freeWhenDone:(BOOL)freeWhenDone
Параметры
bytes
Буферное, содержащее данные для нового объекта. Если
freeWhenDone
YES
true
,bytes
должен указать на блок памяти, выделенный сmalloc
.length
Число байтов для содержания от
bytes
. Это значение не должно превышать длинуbytes
.freeWhenDone
Если
YES
true
, возвращенный объект берет владениеbytes
указатель и освобождает его на освобождении.Возвращаемое значение
Содержащий объект данных
length
байты от буфераbytes
. Возвратыnil
если не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 и позже.
-
Создает и возвращает объект данных путем чтения каждого байта из файла, указанного данным путем.
Объявление
Objective C
+ (instancetype)dataWithContentsOfFile:(NSString *)
path
Параметры
path
Абсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных путем чтения каждого байта из файла, указанного
path
. Возвратыnil
если не мог бы быть создан объект данных.Обсуждение
Этот метод эквивалентен
dataWithContentsOfFile:options:error:
без опций. Если необходимо знать то, что было причиной отказа, использоватьdataWithContentsOfFile:options:error:
.Выборка с помощью этого метода может быть найдена в Работе С Двоичными данными.
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает объект данных путем чтения каждого байта из файла, указанного данным путем.
Объявление
Objective C
+ (instancetype)dataWithContentsOfFile:(NSString *)
path
options:(NSDataReadingOptions)mask
error:(NSError **)errorPtr
Параметры
path
Абсолютный путь файла, из которого можно считать данные.
mask
Маска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”
.errorPtr
Если ошибка происходит, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
Объект данных путем чтения каждого байта из файла, указанного
path
. Возвратыnil
если не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.4 и позже.
-
Создает и возвращает объект данных из отображенного файла, указанного
path
.Объявление
Swift
class func dataWithContentsOfMappedFile(_
path
: String) -> AnyObject?Objective C
+ (id)dataWithContentsOfMappedFile:(NSString *)
path
Параметры
path
Абсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных от отображенного файла, указанного
path
. Возвратыnil
если не мог бы быть создан объект данных.Обсуждение
Если файл, как гарантируют, будет существовать на время существования объекта данных, из-за ограничений отображения файла должен только использоваться этот метод. Обычно более безопасно использовать
dataWithContentsOfFile:
метод.Это методы принимают отображенные файлы, доступно от базовой операционной системы. Отображенный файл использует методы виртуальной памяти, чтобы избежать копировать страницы файла в память, пока они не фактически необходимы.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
См. также
-
Возвращает объект данных, содержащий данные от расположения, указанного данным URL.
Объявление
Objective C
+ (instancetype)dataWithContentsOfURL:(NSURL *)
aURL
Параметры
aURL
URL, из которого можно считать данные.
Возвращаемое значение
Объект данных, содержащий данные от расположения, указанного
aURL
. Возвратыnil
если не мог бы быть создан объект данных.Обсуждение
Этот метод идеален для преобразования
data://
URLs кNSData
объекты, и могут также использоваться для чтения коротких файлов синхронно. Если необходимо считать потенциально большие файлы, использоватьinputStreamWithURL:
для открытия потока затем считайте файл часть за один раз.Если необходимо знать причину отказа, использовать
dataWithContentsOfURL:options:error:
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает объект данных, содержащий данные от расположения, указанного
aURL
.Объявление
Objective C
+ (instancetype)dataWithContentsOfURL:(NSURL *)
aURL
options:(NSDataReadingOptions)mask
error:(NSError **)errorPtr
Параметры
aURL
URL, из которого можно считать данные.
mask
Маска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”
.errorPtr
Если существует ошибка при чтении в данных, по возврату содержит
NSError
объект, описывающий проблему.Обсуждение
Этот метод идеален для преобразования
data://
URLs кNSData
объекты, и могут также использоваться для чтения коротких файлов синхронно. Если необходимо считать потенциально большие файлы, использоватьinputStreamWithURL:
для открытия потока затем считайте файл часть за один раз.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Создает и возвращает объект данных, содержащий содержание другого объекта данных.
Объявление
Objective C
+ (instancetype)dataWithData:(NSData *)
aData
Параметры
aData
Объект данных.
Возвращаемое значение
Объект данных, содержащий содержание
aData
. Возвратыnil
если не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает объект данных, инициализированный с данной Основой 64 закодированных данных.
Объявление
Swift
init?(base64EncodedData
base64Data
: NSData, optionsoptions
: NSDataBase64DecodingOptions)Objective C
- (instancetype)initWithBase64EncodedData:(NSData *)
base64Data
options:(NSDataBase64DecodingOptions)options
Параметры
base64Data
Основа 64, UTF-8 закодировал объект данных.
options
Маска, указывающая опции для Основы 64 декодирования данных. Поданы возможные значения
“NSDataBase64DecodingOptions”
.Возвращаемое значение
Объект данных, содержащий Основу 64 декодируемых данных. Возвраты
nil
если не мог бы декодироваться объект данных.Обсуждение
Реализация по умолчанию этого метода отклонит символы неалфавита, включая символы разрыва строки. Чтобы поддерживать различные кодировки и проигнорировать символы неалфавита, укажите
options
значениеNSDataBase64DecodingIgnoreUnknownCharacters
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает объект данных, инициализированный с данной Основой 64 закодированных строки.
Объявление
Swift
init?(base64EncodedString
base64String
: String, optionsoptions
: NSDataBase64DecodingOptions)Objective C
- (instancetype)initWithBase64EncodedString:(NSString *)
base64String
options:(NSDataBase64DecodingOptions)options
Параметры
base64String
Основа 64 закодированных строки.
options
Маска, указывающая опции для Основы 64 декодирования данных. Поданы возможные значения
“NSDataBase64DecodingOptions”
.Возвращаемое значение
Объект данных, созданный Основой 64 декодирования предоставленной строки. Возвраты
nil
если не мог бы декодироваться объект данных.Обсуждение
Реализация по умолчанию этого метода отклонит символы неалфавита, включая символы разрыва строки. Чтобы поддерживать различные кодировки и проигнорировать символы неалфавита, укажите
options
значениеNSDataBase64DecodingIgnoreUnknownCharacters
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
initWithBase64Encoding: - initWithBase64Encoding:
(OS X v10.9)Возвращает объект данных, инициализированный с данной Основой 64 закодированных строки.
Оператор осуждения
Необходимо перейти к также
initWithBase64EncodedString:options:
илиinitWithBase64EncodedData:options:
.Объявление
Objective C
- (id)initWithBase64Encoding:(NSString *)
base64String
Параметры
base64String
Основа 64 закодированных строки.
Возвращаемое значение
Объект данных, созданный Основой 64 декодирования предоставленной строки. Возвраты
nil
если не мог бы декодироваться объект данных.Специальные замечания
Несмотря на то, что этот метод был только внедрен публично для iOS 7, он существовал начиная с iOS 4; если приложение должно предназначаться для операционной системы до iOS 7, можно использовать его. Этот метод ведет себя как
initWithBase64EncodedString:options:
, но игнорирует все неизвестные символы.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.6 и позже.
Осуждаемый в OS X v10.9.
-
Возвращает объект данных, инициализированный путем добавления к нему данного числа байтов данных, скопированных с данного буфера.
Объявление
Swift
init(bytes
bytes
: UnsafePointer<Void>, lengthlength
: Int)Objective C
- (instancetype)initWithBytes:(const void *)
bytes
length:(NSUInteger)length
Обсуждение
Объект данных, инициализированный путем добавления к нему
length
байты данных скопированы с буфераbytes
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект данных, инициализированный путем добавления к нему данного числа байтов данных от данного буфера.
Объявление
Swift
init(bytesNoCopy
bytes
: UnsafeMutablePointer<Void>, lengthlength
: Int)Objective C
- (instancetype)initWithBytesNoCopy:(void *)
bytes
length:(NSUInteger)length
Параметры
bytes
Буферное, содержащее данные для нового объекта.
bytes
должен указать на блок памяти, выделенный сmalloc
.length
Число байтов для содержания от
bytes
. Это значение не должно превышать длинуbytes
.Возвращаемое значение
Объект данных, инициализированный путем добавления к нему
length
байты данных от буфераbytes
. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Возвращенный объект берет владение
bytes
указатель и освобождает его на освобождении. Поэтомуbytes
должен указать на блок памяти, выделенный сmalloc
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект данных, инициализированный путем добавления к нему данного числа байтов данных от данного буфера, с пользовательским блоком deallocator.
Объявление
Swift
init(bytesNoCopy
bytes
: UnsafeMutablePointer<Void>, lengthlength
: Int, deallocatordeallocator
: ((UnsafeMutablePointer<Void>, Int) -> Void)?)Objective C
- (instancetype)initWithBytesNoCopy:(void *)
bytes
length:(NSUInteger)length
deallocator:(void (^)(void *bytes, NSUInteger length))deallocator
Параметры
bytes
Буферное, содержащее данные для нового объекта.
length
Число байтов для содержания от
bytes
. Это значение не должно превышать длинуbytes
.deallocator
Блок для вызова, когда получающееся
NSData
объект освобожден.Возвращаемое значение
Объект данных, инициализированный путем добавления к нему
length
байты данных от буфераbytes
. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Используйте этот метод для определения собственного поведения освобождения для буфера данных, который Вы обеспечиваете.
Во избежание любых непреднамеренных циклов сильной ссылки необходимо избежать получать указатели на любые объекты, которые могут поочередно поддержать сильные ссылки к
NSData
объект. Это включает прямые ссылки наself
, и неявные ссылки наself
вследствие прямого доступа переменной экземпляра. Упростить избегать этих ссылок,deallocator
блок берет два параметра, указатель наbuffer
, и его длина; необходимо всегда использовать эти значения вместо того, чтобы пытаться использовать ссылки извне блока.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Инициализирует недавно выделенный объект данных путем добавления к нему
length
байты данных от буфераbytes
.Объявление
Swift
init(bytesNoCopy
bytes
: UnsafeMutablePointer<Void>, lengthlength
: Int, freeWhenDoneflag
: Bool)Objective C
- (instancetype)initWithBytesNoCopy:(void *)
bytes
length:(NSUInteger)length
freeWhenDone:(BOOL)flag
Параметры
bytes
Буферное, содержащее данные для нового объекта. Если
flag
YES
true
,bytes
должен указать на блок памяти, выделенный сmalloc
.length
Число байтов для содержания от
bytes
. Это значение не должно превышать длинуbytes
.flag
Если
YES
true
, возвращенный объект берет владениеbytes
указатель и освобождает его на освобождении.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает объект данных, инициализированный путем считывания в него данных от файла, указанного данным путем.
Объявление
Swift
init?(contentsOfFile
path
: String)Objective C
- (instancetype)initWithContentsOfFile:(NSString *)
path
Параметры
path
Абсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных, инициализированный путем считывания в него данных от файла, указанного
path
. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Этот метод эквивалентен
initWithContentsOfFile:options:error:
без опций.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект данных, инициализированный путем считывания в него данных от файла, указанного данным путем.
Объявление
Swift
init?(contentsOfFile
path
: String, optionsmask
: NSDataReadingOptions, errorerrorPtr
: NSErrorPointer)Objective C
- (instancetype)initWithContentsOfFile:(NSString *)
path
options:(NSDataReadingOptions)mask
error:(NSError **)errorPtr
Параметры
path
Абсолютный путь файла, из которого можно считать данные.
mask
Маска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”
.errorPtr
Если ошибка происходит, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
Объект данных, инициализированный путем считывания в него данных от файла, указанного
path
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
init (contentsOfMappedFile:) - initWithContentsOfMappedFile:
(OS X v10.10)Возвращает объект данных, инициализированный путем чтения в него отображенного файла, указанного данным путем.
Объявление
Swift
init?(contentsOfMappedFile
path
: String)Objective C
- (id)initWithContentsOfMappedFile:(NSString *)
path
Параметры
path
Абсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных, инициализированный путем чтения в него отображенного файла, указанного
path
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
Инициализирует недавно выделенный объект данных, инициализированный с данными от расположения, указанного
aURL
.Объявление
Swift
init?(contentsOfURL
aURL
: NSURL)Objective C
- (instancetype)initWithContentsOfURL:(NSURL *)
aURL
Параметры
aURL
URL, из которого можно считать данные
Возвращаемое значение
NSData
объект, инициализированный с данными от расположения, указанногоaURL
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает объект данных, инициализированный с данными от расположения, указанного данным URL.
Объявление
Swift
init?(contentsOfURL
aURL
: NSURL, optionsmask
: NSDataReadingOptions, errorerrorPtr
: NSErrorPointer)Objective C
- (instancetype)initWithContentsOfURL:(NSURL *)
aURL
options:(NSDataReadingOptions)mask
error:(NSError **)errorPtr
Параметры
aURL
URL, из которого можно считать данные.
mask
Маска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”
.errorPtr
Если существует ошибка при чтении в данных, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
Объект данных, инициализированный с данными от расположения, указанного
aURL
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает объект данных, инициализированный с содержанием другого объекта данных.
Параметры
data
Объект данных.
Возвращаемое значение
Объект данных инициализируется с содержанием
data
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Указатель на содержание получателя. (только для чтения)
Объявление
Swift
var bytes: UnsafePointer<Void> { get }
Objective C
@property(readonly) const void *bytes
Обсуждение
Если
length
изNSData
объект 0, этот метод возвратыnil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Строка, содержащая шестнадцатеричное представление содержания объекта в формате списка свойств. (только для чтения)
Объявление
Swift
var description: String { get }
Objective C
@property(readonly, copy) NSString *description
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Перечислите через каждый диапазон байтов в объекте данных с помощью блока.
Объявление
Swift
func enumerateByteRangesUsingBlock(_
block
: (UnsafePointer<Void>, NSRange, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateByteRangesUsingBlock:(void (^)(const void *bytes, NSRange byteRange, BOOL *stop))
block
Параметры
block
Блок для применения к байту располагается в массиве.
Блок берет три параметра:
bytes
Байты для текущего диапазона.
byteRange
Диапазон текущих байтов данных.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку данных. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Обсуждение
Блок перечисления вызывают один раз для каждой непрерывной области памяти в получателе (один раз общее количество для непрерывного
NSData
объект), или до все байты были перечислены, или доstop
параметр устанавливается наYES
true
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
getBytes (_:) - getBytes:
(OS X v10.10)Копирует содержание объекта данных в данный буфер.
Оператор осуждения
Этот метод небезопасен, потому что он мог потенциально вызвать переполнение буфера. Необходимо использовать
getBytes:length:
илиgetBytes:range:
вместо этого.Объявление
Swift
func getBytes(_
buffer
: UnsafeMutablePointer<Void>)Objective C
- (void)getBytes:(void *)
buffer
Параметры
buffer
Буфер, в который можно скопировать данные получателя. Буфер должен быть, по крайней мере,
length
байты.Обсуждение
Вы видите, что выборка использует этот метод в Работе С Двоичными данными.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
Копии многие байты от запуска данных получателя в данный буфер.
Объявление
Swift
func getBytes(_
buffer
: UnsafeMutablePointer<Void>, lengthlength
: Int)Objective C
- (void)getBytes:(void *)
buffer
length:(NSUInteger)length
Параметры
buffer
Буфер, в который можно скопировать данные.
length
Число байтов от запуска данных получателя для копирования в
buffer
.Обсуждение
Число скопированных байтов является меньшим из
length
параметр иlength
из данных, инкапсулировавших в объекте.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Копирует диапазон байтов от данных получателя в данный буфер.
Объявление
Swift
func getBytes(_
buffer
: UnsafeMutablePointer<Void>, rangerange
: NSRange)Objective C
- (void)getBytes:(void *)
buffer
range:(NSRange)range
Параметры
buffer
Буфер, в который можно скопировать данные.
range
Диапазон байтов в данных получателя для копирования в
buffer
. Диапазон должен лечь в диапазоне байтов данных получателя.Обсуждение
Если
range
не в диапазоне получателя байтов,NSRangeException
повышен.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект данных, содержащий байты получателя, находящиеся в пределах пределов, указанных данным диапазоном.
Объявление
Objective C
- (NSData *)subdataWithRange:(NSRange)
range
Параметры
range
Диапазон в получателе, от которого можно получить данные. Диапазон не должен превышать границы получателя.
Возвращаемое значение
Объект данных, содержащий байты получателя, находящиеся в пределах пределов, указанных
range
. Еслиrange
не в диапазоне получателя байтов, повышенийNSRangeException
.Обсуждение
Выборка с помощью этого метода может быть найдена в Работе С Двоичными данными.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Находит и возвращает диапазон первого возникновения определенных данных, в данном диапазоне согласно данным опциям.
Объявление
Swift
func rangeOfData(_
dataToFind
: NSData, optionsmask
: NSDataSearchOptions, rangesearchRange
: NSRange) -> NSRangeObjective C
- (NSRange)rangeOfData:(NSData *)
dataToFind
options:(NSDataSearchOptions)mask
range:(NSRange)searchRange
Параметры
dataToFind
mask
Маска, указывающая параметры поиска. Опции NSDataSearchOptions могут быть указаны отдельно или путем объединения их с C поразрядно
OR
оператор.searchRange
Диапазон в получателе, в котором можно искать
dataToFind
. Если этот диапазон не в диапазоне получателя байтов,NSRangeException
повышенный.Возвращаемое значение
NSRange
структура, дающая расположение и длинуdataToFind
вsearchRange
, по модулю опции вmask
. Диапазон возвратился, относительно запуска искавших данных, не переданного - в поисковом диапазоне. Возвраты{NSNotFound, 0}
еслиdataToFind
не найден или пуст(@"")
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
Заложите Основу 64, закодированный UTF-8
NSData
от содержания получателя с помощью данных опций.Объявление
Swift
func base64EncodedDataWithOptions(_
options
: NSDataBase64EncodingOptions) -> NSDataObjective C
- (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)
options
Параметры
options
Маска, указывающая опции для Кодировки Base 64 данные. Поданы возможные значения
“NSDataBase64EncodingOptions”
.Возвращаемое значение
Основа 64, UTF-8 закодировал объект данных.
Обсуждение
По умолчанию никакие окончания строки не вставляются.
Если Вы указываете одну из опций длины строки (
NSDataBase64Encoding64CharacterLineLength
илиNSDataBase64Encoding76CharacterLineLength
) но не указывайте вид строки, заканчивающейся для вставки, окончанием строки по умолчанию является Возврат каретки + Перевод строки.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
Заложите Основу 64 закодированных
NSString
от содержания получателя с помощью данных опций.Объявление
Swift
func base64EncodedStringWithOptions(_
options
: NSDataBase64EncodingOptions) -> StringObjective C
- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)
options
Параметры
options
Маска, указывающая опции для Кодировки Base 64 данные. Поданы возможные значения
“NSDataBase64EncodingOptions”
.Возвращаемое значение
Основа 64 закодированных строки.
Обсуждение
По умолчанию никакие окончания строки не вставляются.
Если Вы указываете одну из опций длины строки (
NSDataBase64Encoding64CharacterLineLength
илиNSDataBase64Encoding76CharacterLineLength
) но не указывайте вид строки, заканчивающейся для вставки, окончанием строки по умолчанию является Возврат каретки + Перевод строки.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
base64Encoding - base64Encoding
(OS X v10.9)Заложите Основу 64 закодированных
NSString
от содержания получателя.Оператор осуждения
Необходимо перейти к также
base64EncodedStringWithOptions:
илиbase64EncodedDataWithOptions:
Объявление
Objective C
- (NSString *)base64Encoding
Возвращаемое значение
Основа 64 закодированных строки.
Специальные замечания
Несмотря на то, что этот метод был только внедрен публично для iOS 7, он существовал начиная с iOS 4; если приложение должно предназначаться для операционной системы до iOS 7, можно использовать его. Этот метод ведет себя как
base64EncodedStringWithOptions:
, но игнорирует все неизвестные символы.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.6 и позже.
Осуждаемый в OS X v10.9.
-
Сравнивает объект данных получения с
otherData
.Объявление
Swift
func isEqualToData(_
otherData
: NSData) -> BoolObjective C
- (BOOL)isEqualToData:(NSData *)
otherData
Параметры
otherData
Объект данных, с которым можно сравнить получатель.
Возвращаемое значение
YES
true
если содержаниеotherData
равны содержанию получателя, иначеNO
false
.Обсуждение
Два объекта данных равны, если они содержат то же число байтов, и если байты в той же позиции в объектах являются тем же.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Число байтов, содержавших по условию, возражает. (только для чтения)
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Пишут байты в получателе к файлу, указанному данным путем.
Объявление
Swift
func writeToFile(_
path
: String, atomicallyatomically
: Bool) -> BoolObjective C
- (BOOL)writeToFile:(NSString *)
path
atomically:(BOOL)atomically
Параметры
path
Расположение, в которое можно записать байты получателя. Если
path
содержит тильду (~) символ, необходимо развернуть его сstringByExpandingTildeInPath
прежде, чем вызвать этот метод.atomically
Если
YES
true
, данные записаны в файл резервной копии, и затем — предполагающий, что никакие ошибки не происходят — файл резервной копии переименован к имени, указанномуpath
; иначе, данные записаны непосредственно вpath
.Возвращаемое значение
YES
true
если работа успешно выполняется, иначеNO
false
.Обсуждение
Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandle
вместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Пишут байты в получателе к файлу, указанному данным путем.
Объявление
Swift
func writeToFile(_
path
: String, optionsmask
: NSDataWritingOptions, errorerrorPtr
: NSErrorPointer) -> BoolObjective C
- (BOOL)writeToFile:(NSString *)
path
options:(NSDataWritingOptions)mask
error:(NSError **)errorPtr
Параметры
path
Расположение, в которое можно записать байты получателя.
mask
Маска, указывающая опции для записи данных. Постоянные компоненты описаны в
“NSDataWritingOptions”
.errorPtr
Если существует ошибка при выписывании данных, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
YES
true
если работа успешно выполняется, иначеNO
false
.Обсуждение
Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandle
вместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Пишут байты в получателе к расположению, указанному
aURL
.Объявление
Swift
func writeToURL(_
aURL
: NSURL, atomicallyatomically
: Bool) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)
aURL
atomically:(BOOL)atomically
Параметры
aURL
Расположение, в которое можно записать байты получателя. Только
file://
URLs поддерживается.atomically
Если
YES
true
, данные записаны в местоположение резервирных копий, и затем — предполагающий, что никакие ошибки не происходят — местоположение резервирных копий переименовано к имени, указанномуaURL
; иначе, данные записаны непосредственно вaURL
.atomically
проигнорирован еслиaURL
не имеет типа поддержки атомарные записи.Возвращаемое значение
YES
true
если работа успешно выполняется, иначеNO
false
.Обсуждение
С тех пор в настоящее время только
file://
URLs поддерживается, нет никакого различия между этим методом и writeToFile:atomically: за исключением типа первого параметра.Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandle
вместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Пишут байты в получателе к расположению, указанному данным URL.
Объявление
Swift
func writeToURL(_
aURL
: NSURL, optionsmask
: NSDataWritingOptions, errorerrorPtr
: NSErrorPointer) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)
aURL
options:(NSDataWritingOptions)mask
error:(NSError **)errorPtr
Параметры
aURL
Расположение, в которое можно записать байты получателя.
mask
Маска, указывающая опции для записи данных. Постоянные компоненты описаны в
“NSDataWritingOptions”
.errorPtr
Если существует ошибка при выписывании данных, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
YES
true
если работа успешно выполняется, иначеNO
false
.Обсуждение
С тех пор в настоящее время только
file://
URLs поддерживается, нет никакого различия между этим методом иwriteToFile:options:error:
, за исключением типа первого параметра.Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandle
вместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Опции для методов раньше читали
NSData
объекты.Объявление
Swift
struct NSDataReadingOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var DataReadingMappedIfSafe: NSDataReadingOptions { get } static var DataReadingUncached: NSDataReadingOptions { get } static var DataReadingMappedAlways: NSDataReadingOptions { get } static var DataReadingMapped: NSDataReadingOptions { get } static var MappedRead: NSDataReadingOptions { get } static var UncachedRead: NSDataReadingOptions { get } }Objective C
enum { NSDataReadingMappedIfSafe = 1UL << 0, NSDataReadingUncached = 1UL << 1, NSDataReadingMappedAlways = 1UL << 3, }; typedef NSUInteger NSDataReadingOptions;
Константы
-
DataReadingMappedIfSafe
NSDataReadingMappedIfSafe
Подсказка, указывающая файл, должна быть отображена в виртуальную память, если возможный и безопасный.
Доступный в OS X v10.7 и позже.
-
DataReadingUncached
NSDataReadingUncached
Подсказка, указывающая файл, не должна быть сохранена в кэшах файловой системы.
Для данных, считанных один раз и отброшенных, эта опция может улучшить производительность.
Доступный в OS X v10.6 и позже.
-
DataReadingMappedAlways
NSDataReadingMappedAlways
Подскажите для отображения файла в, если это возможно.
Это имеет приоритет
NSDataReadingMappedIfSafe
если обоим дают.Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
-
Опции для методов раньше Базировались 64, кодируют данные.
Объявление
Swift
struct NSDataBase64EncodingOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var Encoding64CharacterLineLength: NSDataBase64EncodingOptions { get } static var Encoding76CharacterLineLength: NSDataBase64EncodingOptions { get } static var EncodingEndLineWithCarriageReturn: NSDataBase64EncodingOptions { get } static var EncodingEndLineWithLineFeed: NSDataBase64EncodingOptions { get } }Objective C
enum { NSDataBase64Encoding64CharacterLineLength = 1UL << 0, NSDataBase64Encoding76CharacterLineLength = 1UL << 1, NSDataBase64EncodingEndLineWithCarriageReturn = 1UL << 4, NSDataBase64EncodingEndLineWithLineFeed = 1UL << 5, }; typedef NSUInteger NSDataBase64EncodingOptions;
Константы
-
Encoding64CharacterLineLength
NSDataBase64Encoding64CharacterLineLength
Установите максимальную длину строки в 64 символа, после которых вставляется окончание строки.
Доступный в OS X v10.9 и позже.
-
Encoding76CharacterLineLength
NSDataBase64Encoding76CharacterLineLength
Установите максимальную длину строки в 76 символов, после которых вставляется окончание строки.
Доступный в OS X v10.9 и позже.
-
EncodingEndLineWithCarriageReturn
NSDataBase64EncodingEndLineWithCarriageReturn
Когда максимальная длина строки установлена, укажите, что строка, заканчивающаяся для вставки, должна включать возврат каретки.
Доступный в OS X v10.9 и позже.
-
EncodingEndLineWithLineFeed
NSDataBase64EncodingEndLineWithLineFeed
Когда максимальная длина строки установлена, укажите, что строка, заканчивающаяся для вставки, должна включать перевод строки.
Доступный в OS X v10.9 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
-
Опции изменить алгоритм декодирования раньше декодировали Основу 64 закодированных
NSData
объекты.Объявление
Swift
struct NSDataBase64DecodingOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var IgnoreUnknownCharacters: NSDataBase64DecodingOptions { get } }Objective C
enum { NSDataBase64DecodingIgnoreUnknownCharacters = 1UL << 0 }; typedef NSUInteger NSDataBase64DecodingOptions;
Константы
-
IgnoreUnknownCharacters
NSDataBase64DecodingIgnoreUnknownCharacters
Измените алгоритм декодирования так, чтобы он проигнорировал неизвестные non-Base-64 байты, включая конечные символы строки.
Доступный в OS X v10.9 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
-
устаревшие (deprecated) имена для чтения опций. Не используйте эти имена, используйте новые замены вместо этого.
Объявление
Swift
struct NSDataReadingOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var DataReadingMappedIfSafe: NSDataReadingOptions { get } static var DataReadingUncached: NSDataReadingOptions { get } static var DataReadingMappedAlways: NSDataReadingOptions { get } static var DataReadingMapped: NSDataReadingOptions { get } static var MappedRead: NSDataReadingOptions { get } static var UncachedRead: NSDataReadingOptions { get } }Objective C
enum { NSDataReadingMapped = NSDataReadingMappedIfSafe, NSMappedRead = NSDataReadingMapped, NSUncachedRead = NSDataReadingUncached };
Константы
-
DataReadingMapped
NSDataReadingMapped
Осуждаемое имя для
NSDataReadingMappedIfSafe
.Доступный в OS X v10.6 и позже.
-
MappedRead
NSMappedRead
Осуждаемое имя для
NSDataReadingMapped
.Доступный в OS X v10.4 и позже.
-
UncachedRead
NSUncachedRead
Осуждаемое имя для
NSDataReadingUncached
.Доступный в OS X v10.4 и позже.
-
-
Опции для методов раньше писали
NSData
объекты.Объявление
Swift
struct NSDataWritingOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var DataWritingAtomic: NSDataWritingOptions { get } static var DataWritingWithoutOverwriting: NSDataWritingOptions { get } static var DataWritingFileProtectionNone: NSDataWritingOptions { get } static var DataWritingFileProtectionComplete: NSDataWritingOptions { get } static var DataWritingFileProtectionCompleteUnlessOpen: NSDataWritingOptions { get } static var DataWritingFileProtectionCompleteUntilFirstUserAuthentication: NSDataWritingOptions { get } static var DataWritingFileProtectionMask: NSDataWritingOptions { get } static var AtomicWrite: NSDataWritingOptions { get } }Objective C
enum { NSDataWritingAtomic = 1UL << 0, NSDataWritingWithoutOverwriting = 1UL << 1, }; typedef NSUInteger NSDataWritingOptions;
Константы
-
DataWritingAtomic
NSDataWritingAtomic
Подсказка, чтобы записать данные во вспомогательный файл сначала и затем обмениваться файлами. Эта опция эквивалентна использованию метода записи, берущего параметр
atomically:YES
.Доступный в OS X v10.6 и позже.
-
DataWritingWithoutOverwriting
NSDataWritingWithoutOverwriting
Подсказка к возврату предотвращает перезапись существующего файла. Не может быть объединен с
NSDataWritingAtomic
.Доступный в OS X v10.8 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
-
устаревшие (deprecated) имена для записи опций. Не используйте эти имена, используйте новые замены вместо этого.
Объявление
Swift
struct NSDataWritingOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var DataWritingAtomic: NSDataWritingOptions { get } static var DataWritingWithoutOverwriting: NSDataWritingOptions { get } static var DataWritingFileProtectionNone: NSDataWritingOptions { get } static var DataWritingFileProtectionComplete: NSDataWritingOptions { get } static var DataWritingFileProtectionCompleteUnlessOpen: NSDataWritingOptions { get } static var DataWritingFileProtectionCompleteUntilFirstUserAuthentication: NSDataWritingOptions { get } static var DataWritingFileProtectionMask: NSDataWritingOptions { get } static var AtomicWrite: NSDataWritingOptions { get } }Objective C
enum { NSAtomicWrite = NSDataWritingAtomic };
Константы
-
AtomicWrite
NSAtomicWrite
Осуждаемое имя для
NSDataWritingAtomic
.Доступный в OS X v10.4 и позже.
-
-
Опции для метода раньше искали
NSData
объекты. Эти опции используются сrangeOfData:options:range:
метод.Объявление
Swift
struct NSDataSearchOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var Backwards: NSDataSearchOptions { get } static var Anchored: NSDataSearchOptions { get } }Objective C
enum { NSDataSearchBackwards = 1UL << 0, NSDataSearchAnchored = 1UL << 1 }; typedef NSUInteger NSDataSearchOptions;
Константы
-
Backwards
NSDataSearchBackwards
Поиск от конца
NSData
объект.Доступный в OS X v10.6 и позже.
-
Anchored
NSDataSearchAnchored
Поиск ограничивается для запуска (или конец, если
NSDataSearchBackwards
) изNSData
объект.Эта опция выполняет поиск только на байтах вначале или конце диапазона. Никакое соответствие вначале или конец не означают, что ничто не найдено, даже если соответствующая последовательность байтов происходит в другом месте в объекте данных.
Доступный в OS X v10.6 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-