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

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

Разработчик

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

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

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

NSDiscardableContent

Вы реализуете этот протокол, когда объекты класса имеют субкомпоненты, которые могут быть отброшены, если не используясь, таким образом дав приложению меньший объем потребляемой памяти.

NSDiscardableContent жизненный цикл объекта зависит от «встречной» переменной. NSDiscardableContent объект является purgeable блоком памяти, отслеживающей то, используется ли это в настоящее время некоторым другим объектом. Когда эта память будет считана или будет все еще необходима, ее переменная счетчика будет больше, чем или равняться 1. Когда это не будет использоваться и сможет быть отброшено, переменная счетчика будет равна 0.

Когда счетчик равен 0, блок памяти может быть отброшен, если память трудна в то время. Для отбрасывания содержания вызвать discardContentIfPossible на объекте, который освободит связанную память, если переменная счетчика будет равняться 0.

По умолчанию, NSDiscardableContent объекты инициализируются с их счетчиком, равным 1, чтобы гарантировать, что они сразу не отбрасываются системой управления памятью. От этой точки необходимо отслеживать состояние переменной счетчика. Вызов beginContentAccess метод постепенно увеличивает переменную счетчика 1, таким образом гарантируя, что не будет отброшен объект. Когда Вы больше не нуждаетесь в объекте, постепенно уменьшаете его счетчик путем вызова endContentAccess.

Платформа Основы включает NSPurgeableData класс, обеспечивающий реализацию по умолчанию этого протокола.

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


Не применимый

Соответствует


Не применимый

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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.6 и позже.
  • Возвращает булево значение, указывающее, доступно ли отбрасываемое содержание все еще и было успешно получено доступ. (требуемый)

    Объявление

    Swift

    func beginContentAccess() -> Bool

    Objective C

    - (BOOL)beginContentAccess

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

    YES, если отбрасываемое содержание все еще доступно и было теперь успешно получено доступ; иначе, NOfalse.

    Обсуждение

    Вызовите этот метод, если память объекта необходима или собирается использоваться. Этот метод постепенно увеличивает переменную счетчика, таким образом защищая память объекта от того, чтобы возможно быть отброшенным. Класс с реализацией может решить, что этот метод попытается воссоздать содержание, если они были отброшены и возвращают YES, если воссоздание было успешно. Конструкторы этого протокола должны повысить исключения если NSDiscardableContent объекты используются когда beginContentAccess метод не вызвали на них.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – endContentAccess

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

    Объявление

    Swift

    func endContentAccess()

    Objective C

    - (void)endContentAccess

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – beginContentAccess

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

    Объявление

    Swift

    func discardContentIfPossible()

    Objective C

    - (void)discardContentIfPossible

    Обсуждение

    Если значение счетчика, к которому получают доступ, 0, этот метод должен только отбросить содержание объекта. Иначе, это ничего не должно делать.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – isContentDiscarded

  • Возвращает булево значение, указывающее, было ли отброшено содержание. (требуемый)

    Объявление

    Swift

    func isContentDiscarded() -> Bool

    Objective C

    - (BOOL)isContentDiscarded

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

    YEStrue если было отброшено содержание; иначе, NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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