NSData
Соответствует
-
AnyObject -
CKRecordValue -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSMutableCopying -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
NSCopying -
NSMutableCopying -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSData и его непостоянный подкласс NSMutableData обеспечьте объекты данных, объектно-ориентированные обертки для буферов байта. Объекты данных позволяют простым выделенным буферам (т.е. данные без встроенных указателей) берут поведение объектов Основы.
NSData создает статические объекты данных, и NSMutableData создает объекты динамических данных. NSData и NSMutableData обычно используются для хранения данных и также полезны в Распределенных приложениях Объектов, где данные, содержавшиеся в объектах данных, могут быть скопированы или перемещены между приложениями.
Размер данных подвергается теоретическому пределу приблизительно 8 эксабайт (на практике, предел не должен быть фактором).
NSData “бесплатный соединенный мостом” с его Базовым дубликатом Основы, CFDataRef. Посмотрите Бесплатное Образование моста для получения дополнительной информации о бесплатном образовании моста.
Сохранение данных
NSData класс и его подклассы обеспечивают методы для быстро и легко сохраняют их содержание на диск. Для минимизации риска потери данных эти методы предоставляют возможность сохранения данных атомарно. Атомарные записи гарантируют, что данные или сохраняются полностью, или они перестали работать полностью. Атомарная запись начинается путем записи данных во временный файл. Если эта запись успешно выполняется, то метод перемещает временный файл в свое заключительное расположение.
В то время как атомарные операции записи минимизируют риск потери данных вследствие поврежденных или частично записанных файлов, они могут не быть надлежащими при записи во временный каталог, корневой каталог пользователя или другие публично доступные каталоги. Любое время Вы работаете с публично доступным файлом, необходимо обработать тот файл как недоверяемый и потенциально опасный ресурс. Атакующий может поставить под угрозу или повредить эти файлы. Атакующий может также заменить файлы жесткими или символьными ссылками, заставив Ваши операции записи перезаписать или повредить другие системные ресурсы.
Избегайте использования writeToURL:atomically: метод (и связанные методы) при работе в публично доступном каталоге. Вместо этого инициализируйте NSFileHandle объект с существующим дескриптором файла и использованием NSFileHandle методы для безопасной записи файла.
Для получения дополнительной информации посмотрите Операции Файла Обеспечения в Безопасном Руководстве по Кодированию.
-
Создает и возвращает пустой объект данных.
Объявление
Objective C
+ (instancetype)dataВозвращаемое значение
Пустой объект данных.
Обсуждение
Этот метод объявляется прежде всего для использования непостоянных подклассов
NSData.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает объект данных, содержащий данное число байтов, скопированных с данного буфера.
Объявление
Objective C
+ (instancetype)dataWithBytes:(const void *)byteslength:(NSUInteger)lengthПараметры
bytesБуферное, содержащее данные для нового объекта.
lengthЧисло байтов для копирования с
bytes. Это значение не должно превышать длинуbytes.Возвращаемое значение
Объект данных, содержащий
lengthбайты скопированы с буфераbytes. Возвратыnilесли не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает содержащий объект данных
lengthбайты от буфераbytes.Объявление
Objective C
+ (instancetype)dataWithBytesNoCopy:(void *)byteslength:(NSUInteger)lengthПараметры
bytesБуферное, содержащее данные для нового объекта.
bytesдолжен указать на блок памяти, выделенный сmalloc.lengthЧисло байтов для содержания от
bytes. Это значение не должно превышать длинуbytes.Возвращаемое значение
Содержащий объект данных
lengthбайты от буфераbytes. Возвратыnilесли не мог бы быть создан объект данных.Обсуждение
Возвращенный объект берет владение
bytesуказатель и освобождает его на освобождении. Поэтомуbytesдолжен указать на блок памяти, выделенный сmalloc.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает объект данных, содержащий данное число байтов от данного буфера.
Объявление
Objective C
+ (instancetype)dataWithBytesNoCopy:(void *)byteslength:(NSUInteger)lengthfreeWhenDone:(BOOL)freeWhenDoneПараметры
bytesБуферное, содержащее данные для нового объекта. Если
freeWhenDoneYEStrue,bytesдолжен указать на блок памяти, выделенный сmalloc.lengthЧисло байтов для содержания от
bytes. Это значение не должно превышать длинуbytes.freeWhenDoneЕсли
YEStrue, возвращенный объект берет владениеbytesуказатель и освобождает его на освобождении.Возвращаемое значение
Содержащий объект данных
lengthбайты от буфераbytes. Возвратыnilесли не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает объект данных путем чтения каждого байта из файла, указанного данным путем.
Объявление
Objective C
+ (instancetype)dataWithContentsOfFile:(NSString *)pathПараметры
pathАбсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных путем чтения каждого байта из файла, указанного
path. Возвратыnilесли не мог бы быть создан объект данных.Обсуждение
Этот метод эквивалентен
dataWithContentsOfFile:options:error:без опций. Если необходимо знать то, что было причиной отказа, использоватьdataWithContentsOfFile:options:error:.Выборка с помощью этого метода может быть найдена в Работе С Двоичными данными.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает объект данных путем чтения каждого байта из файла, указанного данным путем.
Объявление
Objective C
+ (instancetype)dataWithContentsOfFile:(NSString *)pathoptions:(NSDataReadingOptions)maskerror:(NSError **)errorPtrПараметры
pathАбсолютный путь файла, из которого можно считать данные.
maskМаска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”.errorPtrЕсли ошибка происходит, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
Объект данных путем чтения каждого байта из файла, указанного
path. Возвратыnilесли не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает объект данных из отображенного файла, указанного
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Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
См. также
-
Возвращает объект данных, содержащий данные от расположения, указанного данным URL.
Объявление
Objective C
+ (instancetype)dataWithContentsOfURL:(NSURL *)aURLПараметры
aURLURL, из которого можно считать данные.
Возвращаемое значение
Объект данных, содержащий данные от расположения, указанного
aURL. Возвратыnilесли не мог бы быть создан объект данных.Обсуждение
Этот метод идеален для преобразования
data://URLs кNSDataобъекты, и могут также использоваться для чтения коротких файлов синхронно. Если необходимо считать потенциально большие файлы, использоватьinputStreamWithURL:для открытия потока затем считайте файл часть за один раз.Если необходимо знать причину отказа, использовать
dataWithContentsOfURL:options:error:.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает объект данных, содержащий данные от расположения, указанного
aURL.Объявление
Objective C
+ (instancetype)dataWithContentsOfURL:(NSURL *)aURLoptions:(NSDataReadingOptions)maskerror:(NSError **)errorPtrПараметры
aURLURL, из которого можно считать данные.
maskМаска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”.errorPtrЕсли существует ошибка при чтении в данных, по возврату содержит
NSErrorобъект, описывающий проблему.Обсуждение
Этот метод идеален для преобразования
data://URLs кNSDataобъекты, и могут также использоваться для чтения коротких файлов синхронно. Если необходимо считать потенциально большие файлы, использоватьinputStreamWithURL:для открытия потока затем считайте файл часть за один раз.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Создает и возвращает объект данных, содержащий содержание другого объекта данных.
Объявление
Objective C
+ (instancetype)dataWithData:(NSData *)aDataПараметры
aDataОбъект данных.
Возвращаемое значение
Объект данных, содержащий содержание
aData. Возвратыnilесли не мог бы быть создан объект данных.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает объект данных, инициализированный с данной Основой 64 закодированных данных.
Объявление
Swift
init?(base64EncodedDatabase64Data: NSData, optionsoptions: NSDataBase64DecodingOptions)Objective C
- (instancetype)initWithBase64EncodedData:(NSData *)base64Dataoptions:(NSDataBase64DecodingOptions)optionsПараметры
base64DataОснова 64, UTF-8 закодировал объект данных.
optionsМаска, указывающая опции для Основы 64 декодирования данных. Поданы возможные значения
“NSDataBase64DecodingOptions”.Возвращаемое значение
Объект данных, содержащий Основу 64 декодируемых данных. Возвраты
nilесли не мог бы декодироваться объект данных.Обсуждение
Реализация по умолчанию этого метода отклонит символы неалфавита, включая символы разрыва строки. Чтобы поддерживать различные кодировки и проигнорировать символы неалфавита, укажите
optionsзначениеNSDataBase64DecodingIgnoreUnknownCharacters.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
Возвращает объект данных, инициализированный с данной Основой 64 закодированных строки.
Объявление
Swift
init?(base64EncodedStringbase64String: String, optionsoptions: NSDataBase64DecodingOptions)Objective C
- (instancetype)initWithBase64EncodedString:(NSString *)base64Stringoptions:(NSDataBase64DecodingOptions)optionsПараметры
base64StringОснова 64 закодированных строки.
optionsМаска, указывающая опции для Основы 64 декодирования данных. Поданы возможные значения
“NSDataBase64DecodingOptions”.Возвращаемое значение
Объект данных, созданный Основой 64 декодирования предоставленной строки. Возвраты
nilесли не мог бы декодироваться объект данных.Обсуждение
Реализация по умолчанию этого метода отклонит символы неалфавита, включая символы разрыва строки. Чтобы поддерживать различные кодировки и проигнорировать символы неалфавита, укажите
optionsзначениеNSDataBase64DecodingIgnoreUnknownCharacters.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
- initWithBase64Encoding:(iOS 7.0)Возвращает объект данных, инициализированный с данной Основой 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;Доступность
Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 7.0.
-
Возвращает объект данных, инициализированный путем добавления к нему данного числа байтов данных, скопированных с данного буфера.
Объявление
Swift
init(bytesbytes: UnsafePointer<Void>, lengthlength: Int)Objective C
- (instancetype)initWithBytes:(const void *)byteslength:(NSUInteger)lengthОбсуждение
Объект данных, инициализированный путем добавления к нему
lengthбайты данных скопированы с буфераbytes. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект данных, инициализированный путем добавления к нему данного числа байтов данных от данного буфера.
Объявление
Swift
init(bytesNoCopybytes: UnsafeMutablePointer<Void>, lengthlength: Int)Objective C
- (instancetype)initWithBytesNoCopy:(void *)byteslength:(NSUInteger)lengthПараметры
bytesБуферное, содержащее данные для нового объекта.
bytesдолжен указать на блок памяти, выделенный сmalloc.lengthЧисло байтов для содержания от
bytes. Это значение не должно превышать длинуbytes.Возвращаемое значение
Объект данных, инициализированный путем добавления к нему
lengthбайты данных от буфераbytes. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Возвращенный объект берет владение
bytesуказатель и освобождает его на освобождении. Поэтомуbytesдолжен указать на блок памяти, выделенный сmalloc.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект данных, инициализированный путем добавления к нему данного числа байтов данных от данного буфера, с пользовательским блоком deallocator.
Объявление
Swift
init(bytesNoCopybytes: UnsafeMutablePointer<Void>, lengthlength: Int, deallocatordeallocator: ((UnsafeMutablePointer<Void>, Int) -> Void)?)Objective C
- (instancetype)initWithBytesNoCopy:(void *)byteslength:(NSUInteger)lengthdeallocator:(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Доступность
Доступный в iOS 7.0 и позже.
-
Инициализирует недавно выделенный объект данных путем добавления к нему
lengthбайты данных от буфераbytes.Объявление
Swift
init(bytesNoCopybytes: UnsafeMutablePointer<Void>, lengthlength: Int, freeWhenDoneflag: Bool)Objective C
- (instancetype)initWithBytesNoCopy:(void *)byteslength:(NSUInteger)lengthfreeWhenDone:(BOOL)flagПараметры
bytesБуферное, содержащее данные для нового объекта. Если
flagYEStrue,bytesдолжен указать на блок памяти, выделенный сmalloc.lengthЧисло байтов для содержания от
bytes. Это значение не должно превышать длинуbytes.flagЕсли
YEStrue, возвращенный объект берет владениеbytesуказатель и освобождает его на освобождении.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект данных, инициализированный путем считывания в него данных от файла, указанного данным путем.
Объявление
Swift
init?(contentsOfFilepath: String)Objective C
- (instancetype)initWithContentsOfFile:(NSString *)pathПараметры
pathАбсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных, инициализированный путем считывания в него данных от файла, указанного
path. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Этот метод эквивалентен
initWithContentsOfFile:options:error:без опций.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект данных, инициализированный путем считывания в него данных от файла, указанного данным путем.
Объявление
Swift
init?(contentsOfFilepath: String, optionsmask: NSDataReadingOptions, errorerrorPtr: NSErrorPointer)Objective C
- (instancetype)initWithContentsOfFile:(NSString *)pathoptions:(NSDataReadingOptions)maskerror:(NSError **)errorPtrПараметры
pathАбсолютный путь файла, из которого можно считать данные.
maskМаска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”.errorPtrЕсли ошибка происходит, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
Объект данных, инициализированный путем считывания в него данных от файла, указанного
path. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает объект данных, инициализированный путем чтения в него отображенного файла, указанного данным путем.
Объявление
Swift
init?(contentsOfMappedFilepath: String)Objective C
- (id)initWithContentsOfMappedFile:(NSString *)pathПараметры
pathАбсолютный путь файла, из которого можно считать данные.
Возвращаемое значение
Объект данных, инициализированный путем чтения в него отображенного файла, указанного
path. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
Инициализирует недавно выделенный объект данных, инициализированный с данными от расположения, указанного
aURL.Объявление
Swift
init?(contentsOfURLaURL: NSURL)Objective C
- (instancetype)initWithContentsOfURL:(NSURL *)aURLПараметры
aURLURL, из которого можно считать данные
Возвращаемое значение
NSDataобъект, инициализированный с данными от расположения, указанногоaURL. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает объект данных, инициализированный с данными от расположения, указанного данным URL.
Объявление
Swift
init?(contentsOfURLaURL: NSURL, optionsmask: NSDataReadingOptions, errorerrorPtr: NSErrorPointer)Objective C
- (instancetype)initWithContentsOfURL:(NSURL *)aURLoptions:(NSDataReadingOptions)maskerror:(NSError **)errorPtrПараметры
aURLURL, из которого можно считать данные.
maskМаска, указывающая опции для чтения данных. Постоянные компоненты описаны в
“NSDataReadingOptions”.errorPtrЕсли существует ошибка при чтении в данных, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
Объект данных, инициализированный с данными от расположения, указанного
aURL. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает объект данных, инициализированный с содержанием другого объекта данных.
Параметры
dataОбъект данных.
Возвращаемое значение
Объект данных инициализируется с содержанием
data. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
bytesСвойствоУказатель на содержание получателя. (только для чтения)
Объявление
Swift
var bytes: UnsafePointer<Void> { get }Objective C
@property(readonly) const void *bytesОбсуждение
Если
lengthизNSDataобъект 0, этот метод возвратыnil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
descriptionСвойствоСтрока, содержащая шестнадцатеричное представление содержания объекта в формате списка свойств. (только для чтения)
Объявление
Swift
var description: String { get }Objective C
@property(readonly, copy) NSString *descriptionОператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.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Ссылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку данных. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Обсуждение
Блок перечисления вызывают один раз для каждой непрерывной области памяти в получателе (один раз общее количество для непрерывного
NSDataобъект), или до все байты были перечислены, или доstopпараметр устанавливается наYEStrue.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
getBytes (_:) - getBytes:(iOS 8.0)Копирует содержание объекта данных в данный буфер.
Оператор осуждения
Этот метод небезопасен, потому что он мог потенциально вызвать переполнение буфера. Необходимо использовать
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Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
Копии многие байты от запуска данных получателя в данный буфер.
Объявление
Swift
func getBytes(_buffer: UnsafeMutablePointer<Void>, lengthlength: Int)Objective C
- (void)getBytes:(void *)bufferlength:(NSUInteger)lengthПараметры
bufferБуфер, в который можно скопировать данные.
lengthЧисло байтов от запуска данных получателя для копирования в
buffer.Обсуждение
Число скопированных байтов является меньшим из
lengthпараметр иlengthиз данных, инкапсулировавших в объекте.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Копирует диапазон байтов от данных получателя в данный буфер.
Объявление
Swift
func getBytes(_buffer: UnsafeMutablePointer<Void>, rangerange: NSRange)Objective C
- (void)getBytes:(void *)bufferrange:(NSRange)rangeПараметры
bufferБуфер, в который можно скопировать данные.
rangeДиапазон байтов в данных получателя для копирования в
buffer. Диапазон должен лечь в диапазоне байтов данных получателя.Обсуждение
Если
rangeне в диапазоне получателя байтов,NSRangeExceptionповышен.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект данных, содержащий байты получателя, находящиеся в пределах пределов, указанных данным диапазоном.
Объявление
Objective C
- (NSData *)subdataWithRange:(NSRange)rangeПараметры
rangeДиапазон в получателе, от которого можно получить данные. Диапазон не должен превышать границы получателя.
Возвращаемое значение
Объект данных, содержащий байты получателя, находящиеся в пределах пределов, указанных
range. Еслиrangeне в диапазоне получателя байтов, повышенийNSRangeException.Обсуждение
Выборка с помощью этого метода может быть найдена в Работе С Двоичными данными.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Находит и возвращает диапазон первого возникновения определенных данных, в данном диапазоне согласно данным опциям.
Объявление
Swift
func rangeOfData(_dataToFind: NSData, optionsmask: NSDataSearchOptions, rangesearchRange: NSRange) -> NSRangeObjective C
- (NSRange)rangeOfData:(NSData *)dataToFindoptions:(NSDataSearchOptions)maskrange:(NSRange)searchRangeПараметры
dataToFindmaskМаска, указывающая параметры поиска. Опции NSDataSearchOptions могут быть указаны отдельно или путем объединения их с C поразрядно
ORоператор.searchRangeДиапазон в получателе, в котором можно искать
dataToFind. Если этот диапазон не в диапазоне получателя байтов,NSRangeExceptionповышенный.Возвращаемое значение
NSRangeструктура, дающая расположение и длинуdataToFindвsearchRange, по модулю опции вmask. Диапазон возвратился, относительно запуска искавших данных, не переданного - в поисковом диапазоне. Возвраты{NSNotFound, 0}еслиdataToFindне найден или пуст(@"").Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 4.0 и позже.
-
Заложите Основу 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Доступность
Доступный в iOS 7.0 и позже.
-
Заложите Основу 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Доступность
Доступный в iOS 7.0 и позже.
-
- base64Encoding(iOS 7.0)Заложите Основу 64 закодированных
NSStringот содержания получателя.Оператор осуждения
Необходимо перейти к также
base64EncodedStringWithOptions:илиbase64EncodedDataWithOptions:Объявление
Objective C
- (NSString *)base64EncodingВозвращаемое значение
Основа 64 закодированных строки.
Специальные замечания
Несмотря на то, что этот метод был только внедрен публично для iOS 7, он существовал начиная с iOS 4; если приложение должно предназначаться для операционной системы до iOS 7, можно использовать его. Этот метод ведет себя как
base64EncodedStringWithOptions:, но игнорирует все неизвестные символы.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 7.0.
-
Сравнивает объект данных получения с
otherData.Объявление
Swift
func isEqualToData(_otherData: NSData) -> BoolObjective C
- (BOOL)isEqualToData:(NSData *)otherDataПараметры
otherDataОбъект данных, с которым можно сравнить получатель.
Возвращаемое значение
YEStrueесли содержаниеotherDataравны содержанию получателя, иначеNOfalse.Обсуждение
Два объекта данных равны, если они содержат то же число байтов, и если байты в той же позиции в объектах являются тем же.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
lengthСвойствоЧисло байтов, содержавших по условию, возражает. (только для чтения)
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Пишут байты в получателе к файлу, указанному данным путем.
Объявление
Swift
func writeToFile(_path: String, atomicallyatomically: Bool) -> BoolObjective C
- (BOOL)writeToFile:(NSString *)pathatomically:(BOOL)atomicallyПараметры
pathРасположение, в которое можно записать байты получателя. Если
pathсодержит тильду (~) символ, необходимо развернуть его сstringByExpandingTildeInPathпрежде, чем вызвать этот метод.atomicallyЕсли
YEStrue, данные записаны в файл резервной копии, и затем — предполагающий, что никакие ошибки не происходят — файл резервной копии переименован к имени, указанномуpath; иначе, данные записаны непосредственно вpath.Возвращаемое значение
YEStrueесли работа успешно выполняется, иначеNOfalse.Обсуждение
Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandleвместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Пишут байты в получателе к файлу, указанному данным путем.
Объявление
Swift
func writeToFile(_path: String, optionsmask: NSDataWritingOptions, errorerrorPtr: NSErrorPointer) -> BoolObjective C
- (BOOL)writeToFile:(NSString *)pathoptions:(NSDataWritingOptions)maskerror:(NSError **)errorPtrПараметры
pathРасположение, в которое можно записать байты получателя.
maskМаска, указывающая опции для записи данных. Постоянные компоненты описаны в
“NSDataWritingOptions”.errorPtrЕсли существует ошибка при выписывании данных, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
YEStrueесли работа успешно выполняется, иначеNOfalse.Обсуждение
Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandleвместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Пишут байты в получателе к расположению, указанному
aURL.Объявление
Swift
func writeToURL(_aURL: NSURL, atomicallyatomically: Bool) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)aURLatomically:(BOOL)atomicallyПараметры
aURLРасположение, в которое можно записать байты получателя. Только
file://URLs поддерживается.atomicallyЕсли
YEStrue, данные записаны в местоположение резервирных копий, и затем — предполагающий, что никакие ошибки не происходят — местоположение резервирных копий переименовано к имени, указанномуaURL; иначе, данные записаны непосредственно вaURL.atomicallyпроигнорирован еслиaURLне имеет типа поддержки атомарные записи.Возвращаемое значение
YEStrueесли работа успешно выполняется, иначеNOfalse.Обсуждение
С тех пор в настоящее время только
file://URLs поддерживается, нет никакого различия между этим методом и writeToFile:atomically: за исключением типа первого параметра.Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandleвместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Пишут байты в получателе к расположению, указанному данным URL.
Объявление
Swift
func writeToURL(_aURL: NSURL, optionsmask: NSDataWritingOptions, errorerrorPtr: NSErrorPointer) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)aURLoptions:(NSDataWritingOptions)maskerror:(NSError **)errorPtrПараметры
aURLРасположение, в которое можно записать байты получателя.
maskМаска, указывающая опции для записи данных. Постоянные компоненты описаны в
“NSDataWritingOptions”.errorPtrЕсли существует ошибка при выписывании данных, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
YEStrueесли работа успешно выполняется, иначеNOfalse.Обсуждение
С тех пор в настоящее время только
file://URLs поддерживается, нет никакого различия между этим методом иwriteToFile:options:error:, за исключением типа первого параметра.Этот метод может не быть надлежащим при записи в публично доступные файлы. Для безопасной записи данных в общедоступное расположение использовать
NSFileHandleвместо этого. Для получения дополнительной информации, seeSecuring Операции Файла в Безопасном Руководстве по Кодированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Опции для методов раньше читали
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;Константы
-
DataReadingMappedIfSafeNSDataReadingMappedIfSafeПодсказка, указывающая файл, должна быть отображена в виртуальную память, если возможный и безопасный.
Доступный в iOS 5.0 и позже.
-
DataReadingUncachedNSDataReadingUncachedПодсказка, указывающая файл, не должна быть сохранена в кэшах файловой системы.
Для данных, считанных один раз и отброшенных, эта опция может улучшить производительность.
Доступный в iOS 4.0 и позже.
-
DataReadingMappedAlwaysNSDataReadingMappedAlwaysПодскажите для отображения файла в, если это возможно.
Это имеет приоритет
NSDataReadingMappedIfSafeесли обоим дают.Доступный в iOS 5.0 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 4.0 и позже.
-
-
Опции для методов раньше Базировались 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;Константы
-
Encoding64CharacterLineLengthNSDataBase64Encoding64CharacterLineLengthУстановите максимальную длину строки в 64 символа, после которых вставляется окончание строки.
Доступный в iOS 7.0 и позже.
-
Encoding76CharacterLineLengthNSDataBase64Encoding76CharacterLineLengthУстановите максимальную длину строки в 76 символов, после которых вставляется окончание строки.
Доступный в iOS 7.0 и позже.
-
EncodingEndLineWithCarriageReturnNSDataBase64EncodingEndLineWithCarriageReturnКогда максимальная длина строки установлена, укажите, что строка, заканчивающаяся для вставки, должна включать возврат каретки.
Доступный в iOS 7.0 и позже.
-
EncodingEndLineWithLineFeedNSDataBase64EncodingEndLineWithLineFeedКогда максимальная длина строки установлена, укажите, что строка, заканчивающаяся для вставки, должна включать перевод строки.
Доступный в iOS 7.0 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
-
Опции изменить алгоритм декодирования раньше декодировали Основу 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;Константы
-
IgnoreUnknownCharactersNSDataBase64DecodingIgnoreUnknownCharactersИзмените алгоритм декодирования так, чтобы он проигнорировал неизвестные non-Base-64 байты, включая конечные символы строки.
Доступный в iOS 7.0 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 7.0 и позже.
-
-
устаревшие (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 };Константы
-
DataReadingMappedNSDataReadingMappedОсуждаемое имя для
NSDataReadingMappedIfSafe.Доступный в iOS 4.0 и позже.
-
MappedReadNSMappedReadОсуждаемое имя для
NSDataReadingMapped.Доступный в iOS 2.0 и позже.
-
UncachedReadNSUncachedReadОсуждаемое имя для
NSDataReadingUncached.Доступный в iOS 2.0 и позже.
-
-
Опции для методов раньше писали
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, NSDataWritingFileProtectionNone = 0x10000000, NSDataWritingFileProtectionComplete = 0x20000000, NSDataWritingFileProtectionCompleteUnlessOpen = 0x30000000, NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication = 0x40000000, NSDataWritingFileProtectionMask = 0xf0000000, }; typedef NSUInteger NSDataWritingOptions;Константы
-
DataWritingAtomicNSDataWritingAtomicПодсказка, чтобы записать данные во вспомогательный файл сначала и затем обмениваться файлами. Эта опция эквивалентна использованию метода записи, берущего параметр
atomically:YES.Доступный в iOS 4.0 и позже.
-
DataWritingWithoutOverwritingNSDataWritingWithoutOverwritingПодсказка к возврату предотвращает перезапись существующего файла. Не может быть объединен с
NSDataWritingAtomic.Доступный в iOS 6.0 и позже.
-
DataWritingFileProtectionNoneNSDataWritingFileProtectionNoneПодсказка для установки атрибута защиты содержания файла при выписывании его. В этом случае, в то время как устройство разблокировано, файл не хранится в зашифрованном формате и может быть получен доступ во время начальной загрузки и.
Доступный в iOS 4.0 и позже.
-
DataWritingFileProtectionCompleteNSDataWritingFileProtectionCompleteПодсказка для установки атрибута защиты содержания файла при выписывании его. В этом случае файл хранится в зашифрованном формате и может быть считан из или записан в только, в то время как разблокировано устройство. Во все другие времена, попытки читать и записать результат файла в отказе.
Доступный в iOS 4.0 и позже.
-
DataWritingFileProtectionCompleteUnlessOpenNSDataWritingFileProtectionCompleteUnlessOpenПодсказка для установки атрибута защиты содержания файла при выписывании его. В этом случае файл не может быть открыт для чтения или записи, когда устройство заблокировано, несмотря на то, что новые файлы могут быть созданы с этим классом. Если один из этих файлов открыт, когда устройство заблокировано, читение и писание все еще позволяются.
Доступный в iOS 5.0 и позже.
-
DataWritingFileProtectionCompleteUntilFirstUserAuthenticationNSDataWritingFileProtectionCompleteUntilFirstUserAuthenticationПодсказка для установки атрибута защиты содержания файла при выписывании его. В этом случае файл может быть считан или записан в то, в то время как устройство заблокировано, но в то время как это загружается, у них есть защита, эквивалентная
NSDataWritingFileProtectionComplete.Доступный в iOS 5.0 и позже.
-
DataWritingFileProtectionMaskNSDataWritingFileProtectionMaskМаска для использования при определении опций защиты файла присвоилась к данным.
Доступный в iOS 4.0 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 4.0 и позже.
-
-
устаревшие (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 };Константы
-
AtomicWriteNSAtomicWriteОсуждаемое имя для
NSDataWritingAtomic.Доступный в iOS 2.0 и позже.
-
-
Опции для метода раньше искали
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;Константы
-
BackwardsNSDataSearchBackwardsПоиск от конца
NSDataобъект.Доступный в iOS 4.0 и позже.
-
AnchoredNSDataSearchAnchoredПоиск ограничивается для запуска (или конец, если
NSDataSearchBackwards) изNSDataобъект.Эта опция выполняет поиск только на байтах вначале или конце диапазона. Никакое соответствие вначале или конец не означают, что ничто не найдено, даже если соответствующая последовательность байтов происходит в другом месте в объекте данных.
Доступный в iOS 4.0 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 4.0 и позже.
-
