Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSValue

Опции
Развертывание Target:

На этой странице
Язык:

NSValue

NSValue объект является простым контейнером для единственного C или элемента данных Objective C. Это может содержать любой из скалярных типов такой как int, float, и char, а также указатели, структуры и объект id ссылки. Используйте этот класс для работы с такими типами данных в наборах (такой как NSArray и NSSet), кодирование значения ключа и другой APIs, требующий объектов Objective C. NSValue объекты являются всегда неизменными.

Разделение на подклассы примечаний

Краткий обзор NSValue класс является открытым интерфейсом кластера класса, состоящего главным образом из частных, реальных классов, создающих и возвращающих объект значения, подходящий для данной ситуации. Возможно разделить на подклассы NSValue, но выполнение так требует обеспечения складов для значения (который не наследован подклассами), и реализация двух примитивных методов.

Методы для переопределения

Любой подкласс NSValueдолжен переопределить примитивные методы экземпляра getValue: и objCType. Эти методы должны воздействовать на хранение, что Вы предусматриваете значение.

Вы могли бы хотеть реализовать инициализатор для своего подкласса, подходящего для хранения, которое Вы обеспечиваете. NSValue класс не имеет определяемого инициализатора, таким образом, Ваш инициализатор должен только вызвать init метод super. NSValue класс принимает NSCopying и NSSecureCoding протоколы; если Вы хотите экземпляры своего собственного подкласса, создаваемого из копирования или кодирования, переопределяете методы в этих протоколах.

Можно также хотеть реализовать hash метод, чтобы заставить Ваш подкласс работать хорошо в наборах.

Альтернативы разделению на подклассы

Если необходимо только использовать NSValue объекты для обертки пользовательские типы данных или структуры, определенные Вашим приложением, Вы не должны создавать NSValue подкласс. Вместо этого создайте категорию, использующую существующий NSValue методы, чтобы сохранить и получить данные Вашего пользовательского типа. Например, код ниже определяет пользовательскую структуру Многогранника и создает NSValue удобные методы сохранить и получить его:

  • typedef struct {
  • int numFaces;
  • float radius;
  • } Polyhedron;
  • @interface NSValue (Polyhedron)
  • + (instancetype)valuewithPolyhedron:(Polyhedron)value;
  • @property (readonly) Polyhedron polyhedronValue;
  • @end
  • @implementation NSValue (Polyhedron)
  • + (instancetype)valuewithPolyhedron:(Polyhedron)value
  • {
  • return [self valueWithBytes:&value objCType:@encode(Polyhedron)];
  • }
  • - (Polyhedron) polyhedronValue
  • {
  • Polyhedron value;
  • [self getValue:&value];
  • return value;
  • }
  • @end

Наследование


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • init (bytes:objCType:) - initWithBytes:objCType: Определяемый инициализатор

    Инициализирует объект значения содержать указанное значение, интерпретируемое с указанным типом Objective C.

    Объявление

    Swift

    init(bytes value: UnsafePointer<Void>, objCType type: UnsafePointer<Int8>)

    Objective C

    - (instancetype)initWithBytes:(const void *)value objCType:(const char *)type

    Параметры

    value

    Указатель на данные, которые будут сохранены в новом объекте значения.

    type

    Тип Objective C value, в соответствии с @encode() директива компилятора. Не делайте твердого кода этот параметр как струна до.

    Возвращаемое значение

    Содержащий инициализированный объект значения value, который интерпретируется как то, чтобы иметь тип Objective C type. Возвращенный объект мог бы отличаться, чем исходный получатель.

    Обсуждение

    Посмотрите Темы Программирования Числа и Значения для других соображений в создании объекта значения.

    Это - определяемый инициализатор для NSValue класс.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает объект значения, содержащий указанное значение, интерпретируемое с указанным типом Objective C.

    Объявление

    Objective C

    + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type

    Параметры

    value

    Указатель на данные, которые будут сохранены в новом объекте значения.

    type

    Тип Objective C value, в соответствии с @encode() директива компилятора. Не делайте твердого кода этот параметр как струна до.

    Возвращаемое значение

    Содержащий новый объект значения value, который интерпретируется как то, чтобы иметь тип Objective C type.

    Обсуждение

    Посмотрите Темы Программирования Числа и Значения для других соображений в создании объекта значения и примеров кода.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – initWithBytes:objCType:

  • Создает объект значения, содержащий указанное значение, интерпретируемое с указанным типом Objective C.

    Объявление

    Swift

    init(_ value: UnsafePointer<Void>, withObjCType type: UnsafePointer<Int8>) -> NSValue

    Objective C

    + (NSValue *)value:(const void *)value withObjCType:(const char *)type

    Параметры

    value

    Указатель на данные, которые будут сохранены в новом объекте значения.

    type

    Тип Objective C value, в соответствии с @encode() директива компилятора. Не делайте твердого кода этот параметр как струна до.

    Возвращаемое значение

    Содержащий новый объект значения value, который интерпретируется как то, чтобы иметь тип Objective C type.

    Обсуждение

    Этот метод имеет тот же эффект как valueWithBytes:objCType: и может быть осужден в будущем выпуске. Необходимо использовать valueWithBytes:objCType: вместо этого.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    + valueWithBytes:objCType:

  • Копирует значение в указанный буфер.

    Объявление

    Swift

    func getValue(_ buffer: UnsafeMutablePointer<Void>)

    Objective C

    - (void)getValue:(void *)buffer

    Параметры

    buffer

    Буфер, в который можно скопировать значение. Буфер должен быть достаточно большим для содержания значения.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • objCType objCType Свойство

    Струна до, содержащая тип Objective C данных, содержится в объекте значения.

    Объявление

    Swift

    var objCType: UnsafePointer<Int8> { get }

    Objective C

    @property(readonly) const char *objCType

    Обсуждение

    Это свойство обеспечивает ту же строку, произведенную @encode() директива компилятора.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает объект значения, содержащий указанный указатель.

    Объявление

    Swift

    init(pointer aPointer: UnsafePointer<Void>) -> NSValue

    Objective C

    + (NSValue *)valueWithPointer:(const void *)aPointer

    Параметры

    aPointer

    Значение для нового объекта.

    Возвращаемое значение

    Содержащий новый объект значения aPointer.

    Обсуждение

    Этот метод эквивалентен вызову value:withObjCType: этим способом:

    • NSValue *theValue = [NSValue value:&aPointer withObjCType:@encode(void *)];

    Этот метод не копирует содержание aPointer, таким образом, Вы не должны для освобождения памяти в месте назначения указателя в то время как NSValue объект существует. NSData объекты могут больше подойти для произвольных указателей, чем NSValue объекты.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – pointerValue

  • Создает объект значения, содержащий указанный объект.

    Объявление

    Swift

    init(nonretainedObject anObject: AnyObject?) -> NSValue

    Objective C

    + (NSValue *)valueWithNonretainedObject:(id)anObject

    Параметры

    anObject

    Значение для нового объекта.

    Возвращаемое значение

    Содержащий новый объект значения anObject.

    Обсуждение

    Этот метод эквивалентен вызову value:withObjCType: этим способом:

    • NSValue *theValue = [NSValue value:&anObject withObjCType:@encode(void *)];

    Этот метод полезен, если Вы хотите добавить объект к набору, но не хотите, чтобы набор создал сильную ссылку к нему.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    nonretainedObjectValue

  • Возвращает значение как невведенный указатель.

    Объявление

    Swift

    func pointerValue() -> UnsafeMutablePointer<Void>

    Objective C

    - (void *)pointerValue

    Возвращаемое значение

    Значение как указатель на недействительный. Если объект значения не создавался для содержания элемента данных размера указателя, результат не определен.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    + valueWithPointer:

  • Значение как несохраненный указатель на объект. (только для чтения)

    Объявление

    Swift

    var nonretainedObjectValue: AnyObject? { get }

    Objective C

    @property(nonatomic, readonly) id nonretainedObjectValue

    Обсуждение

    Если ценность не была создана для содержания элемента данных размера указателя, результат не определен.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает новый объект значения, содержащий указанную структуру диапазона Основы.

    Объявление

    Swift

    init(range range: NSRange) -> NSValue

    Objective C

    + (NSValue *)valueWithRange:(NSRange)range

    Параметры

    range

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию о диапазоне.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    rangeValue
    NSRange

  • rangeValue rangeValue Свойство

    Представление структуры диапазона Основы значения. (только для чтения)

    Объявление

    Swift

    var rangeValue: NSRange { get }

    Objective C

    @property(readonly) NSRange rangeValue

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    + valueWithRange:
    NSRange

  • Создает новый объект значения, содержащий указанную структуру точки Основы.

    Объявление

    Swift

    init(point aPoint: NSPoint) -> NSValue

    Objective C

    + (NSValue *)valueWithPoint:(NSPoint)aPoint

    Параметры

    aPoint

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию о точке.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    pointValue
    NSPoint

  • Создает новый объект значения, содержащий указанную структуру размера Основы.

    Объявление

    Swift

    init(size size: NSSize) -> NSValue

    Objective C

    + (NSValue *)valueWithSize:(NSSize)size

    Параметры

    size

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию о размере.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    sizeValue
    NSSize

  • Создает новый объект значения, содержащий указанную прямоугольную структуру Основы.

    Объявление

    Swift

    init(rect rect: NSRect) -> NSValue

    Objective C

    + (NSValue *)valueWithRect:(NSRect)rect

    Параметры

    rect

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий данные в rect структура.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    rectValue
    NSRect

  • pointValue pointValue Свойство

    Представление структуры точки Основы значения. (только для чтения)

    Объявление

    Swift

    var pointValue: NSPoint { get }

    Objective C

    @property(readonly) NSPoint pointValue

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    + valueWithPoint:
    NSPoint

  • sizeValue sizeValue Свойство

    Представление структуры размера Основы значения. (только для чтения)

    Объявление

    Swift

    var sizeValue: NSSize { get }

    Objective C

    @property(readonly) NSSize sizeValue

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    + valueWithSize:
    NSSize

  • rectValue rectValue Свойство

    Прямоугольное представление структуры Основы значения. (только для чтения)

    Объявление

    Swift

    var rectValue: NSRect { get }

    Objective C

    @property(readonly) NSRect rectValue

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    + valueWithRect:
    NSRect

  • Создает новый объект значения, содержащий указанный CoreAnimation, преобразовывают структуру.

    Объявление

    Swift

    init!(CATransform3D aTransform: CATransform3D) -> NSValue

    Objective C

    + (NSValue *)valueWithCATransform3D:(CATransform3D)aTransform

    Параметры

    aTransform

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию о преобразовании.

    Оператор импорта

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

    Доступный в OS X v10.5 и позже.

    См. также

    CATransform3DValue
    CATransform3D

  • CoreAnimation преобразовывают представление структуры значения. (только для чтения)

    Объявление

    Swift

    var CATransform3DValue: CATransform3D { get }

    Objective C

    @property(readonly) CATransform3D CATransform3DValue

    Оператор импорта

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

    Доступный в OS X v10.5 и позже.

    См. также

    + valueWithCATransform3D:
    CATransform3D

  • Создает новый объект значения, содержащий указанную временную структуру CoreMedia.

    Объявление

    Swift

    init!(CMTime time: CMTime) -> NSValue

    Objective C

    + (NSValue *)valueWithCMTime:(CMTime)time

    Параметры

    time

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию времени носителей.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    CMTimeValue
    CMTime

  • Создает новый объект значения, содержащий указанную структуру диапазона времени CoreMedia.

    Объявление

    Swift

    init!(CMTimeRange timeRange: CMTimeRange) -> NSValue

    Objective C

    + (NSValue *)valueWithCMTimeRange:(CMTimeRange)timeRange

    Параметры

    timeRange

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию о диапазоне времени.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    CMTimeRangeValue
    CMTimeRange

  • Создает новый объект значения, содержащий указанную структуру отображения времени CoreMedia.

    Объявление

    Swift

    init!(CMTimeMapping timeMapping: CMTimeMapping) -> NSValue

    Objective C

    + (NSValue *)valueWithCMTimeMapping:(CMTimeMapping)timeMapping

    Параметры

    timeMapping

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий информацию об отображении времени.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • CMTimeValue CMTimeValue Свойство

    Представление временной структуры CoreMedia значения. (только для чтения)

    Объявление

    Swift

    var CMTimeValue: CMTime { get }

    Objective C

    @property(readonly) CMTime CMTimeValue

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    + valueWithCMTime:
    CMTime

  • Представление структуры диапазона времени CoreMedia значения. (только для чтения)

    Объявление

    Swift

    var CMTimeRangeValue: CMTimeRange { get }

    Objective C

    @property(readonly) CMTimeRange CMTimeRangeValue

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Время CoreMedia, отображая представление структуры значения. (только для чтения)

    Объявление

    Swift

    var CMTimeMappingValue: CMTimeMapping { get }

    Objective C

    @property(readonly) CMTimeMapping CMTimeMappingValue

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Создает новый объект значения, содержащий указанный CoreLocation географическая координатная структура.

    Объявление

    Swift

    init!(MKCoordinate coordinate: CLLocationCoordinate2D) -> NSValue

    Objective C

    + (NSValue *)valueWithMKCoordinate:(CLLocationCoordinate2D)coordinate

    Параметры

    coordinate

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий географическую координатную информацию.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в OS X v10.9 и позже.

  • Создает новый объект значения, содержащий указанную структуру промежутка координаты MapKit.

    Объявление

    Swift

    init!(MKCoordinateSpan span: MKCoordinateSpan) -> NSValue

    Objective C

    + (NSValue *)valueWithMKCoordinateSpan:(MKCoordinateSpan)span

    Параметры

    span

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий координатную информацию о промежутке.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в OS X v10.9 и позже.

  • CoreLocation географическое координатное представление структуры значения. (только для чтения)

    Объявление

    Swift

    var MKCoordinateValue: CLLocationCoordinate2D { get }

    Objective C

    @property(readonly) CLLocationCoordinate2D MKCoordinateValue

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в OS X v10.9 и позже.

  • MapKit координируют представление структуры промежутка значения. (только для чтения)

    Объявление

    Swift

    var MKCoordinateSpanValue: MKCoordinateSpan { get }

    Objective C

    @property(readonly) MKCoordinateSpan MKCoordinateSpanValue

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в OS X v10.9 и позже.

  • Создает объект значения, содержащий указанный вектор SceneKit с тремя элементами.

    Объявление

    Swift

    init!(SCNVector3 vector: SCNVector3) -> NSValue

    Objective C

    + (NSValue *)valueWithSCNVector3:(SCNVector3)vector

    Параметры

    vector

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий векторную информацию.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

    См. также

    SCNVector3Value
    SCNVector3

  • Создает объект значения, содержащий указанный вектор SceneKit с четырьмя элементами.

    Объявление

    Swift

    init!(SCNVector4 vector: SCNVector4) -> NSValue

    Objective C

    + (NSValue *)valueWithSCNVector4:(SCNVector4)vector

    Параметры

    vector

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий векторную информацию.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

    См. также

    SCNVector4Value
    SCNVector4

  • Создает объект значения, содержащий указанную матрицу SceneKit 4 x 4.

    Объявление

    Swift

    init!(SCNMatrix4 v: SCNMatrix4) -> NSValue

    Objective C

    + (NSValue *)valueWithSCNMatrix4:(SCNMatrix4)v

    Параметры

    v

    Значение для нового объекта.

    Возвращаемое значение

    Новый объект значения, содержащий матричную информацию.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

    См. также

    SCNMatrix4Value
    SCNMatrix4

  • SCNVector3Value SCNVector3Value Свойство

    Представление вектора Набора Сцены с тремя элементами значения. (только для чтения)

    Объявление

    Swift

    var SCNVector3Value: SCNVector3 { get }

    Objective C

    @property(readonly) SCNVector3 SCNVector3Value

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • SCNVector4Value SCNVector4Value Свойство

    Представление вектора Набора Сцены с четырьмя элементами значения. (только для чтения)

    Объявление

    Swift

    var SCNVector4Value: SCNVector4 { get }

    Objective C

    @property(readonly) SCNVector4 SCNVector4Value

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • SCNMatrix4Value SCNMatrix4Value Свойство

    Набор Сцены 4 x 4 матричных представления значения. (только для чтения)

    Объявление

    Swift

    var SCNMatrix4Value: SCNMatrix4 { get }

    Objective C

    @property(readonly) SCNMatrix4 SCNMatrix4Value

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Возвращает булево значение, указывающее, равны ли объект значения и другой объект значения.

    Объявление

    Swift

    func isEqualToValue(_ aValue: NSValue) -> Bool

    Objective C

    - (BOOL)isEqualToValue:(NSValue *)aValue

    Параметры

    aValue

    Другое значение возражает, с которым можно сравнить объект значения.

    Возвращаемое значение

    YEStrue если оба объекта значения равны; иначе, NOfalse.

    Обсуждение

    NSValue класс сравнивает тип и содержание каждого объекта значения определить равенство.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.