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

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

Разработчик

Ссылка платформы AppKit ссылка на протокол NSOutlineViewDataSource

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

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

NSOutlineViewDataSource

NSOutlineView объекты поддерживают делегата источника данных в дополнение к регулярному объекту делегата. NSOutlineViewDataSource протокол определяет методы, которые представление схемы вызывает по мере необходимости для получения данных и информации о данных от делегата источника данных, и — дополнительно — для обновления значений данных.

Все методы в NSOutlineViewDataSource протокол отмечен как @optional. В то время как это - истина, существуют случаи, были Вы, должен реализовать некоторые методы для достижения требуемой функциональности, в частности при работе со стандартными источниками данных, а не данными, предоставленными привязкой Какао.

Требуемые и дополнительные методы Используя программируемые соглашения и привязку какао

При использовании стандартных источников данных для содержания, необходимо реализовать основные методы, предоставляющие представлению схемы данные: outlineView:child:ofItem:, outlineView:isItemExpandable:, outlineView:numberOfChildrenOfItem:, и outlineView:objectValueForTableColumn:byItem:. Приложения, получающие их данные с помощью привязки Какао, не должны реализовывать эти методы.

Точно так же при использовании стандартных источников данных, если Вы хотите позволить пользователю редактировать значения, необходимо реализовать outlineView:setObjectValue:forTableColumn:byItem:. Когда эти методы вызываются представлением схемы, nil как item относится к «корневому» элементу. NSOutlineView требует, чтобы каждый элемент в представлении схемы был уникален. Для разрушенного состояния представления схемы, чтобы остаться непротиворечивыми между перезагрузками необходимо всегда возвращать тот же объект для элемента. При использовании привязки Какао для обеспечения содержания представления схемы нет никакого требования для реализации этого метода.

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


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

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


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.6 и позже.
  • Возвращает дочерний элемент в указанном индексе данного элемента.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: AnyObject?) -> AnyObject

    Objective C

    - (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    index

    Индекс дочернего элемента от item возвратиться.

    item

    Элемент в источнике данных.

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

    Дочерний элемент в индексе a item. Если item nil, возвращает надлежащий дочерний элемент корневого объекта.

    Обсуждение

    Дочерние элементы данного родителя item получены доступ последовательно. Для разрушенного состояния представления схемы, чтобы остаться непротиворечивыми, когда это перезагружается, необходимо всегда возвращать тот же объект для указанного child и item.

    Специальные замечания

    outlineView:child:ofItem: метод вызывают очень часто, таким образом, это должно быть эффективно.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

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

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: AnyObject) -> Bool

    Objective C

    - (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    item

    Элемент в источнике данных.

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

    YEStrue если item может быть расширен для отображения его дочерних элементов, иначе NOfalse.

    Обсуждение

    Этот метод можно вызвать довольно часто, таким образом, это должно быть эффективно.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Возвращает число дочерних элементов, охваченных данным элементом.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: AnyObject?) -> Int

    Objective C

    - (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    item

    Элемент в источнике данных.

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

    Число дочерних элементов, охваченных item. Если item nil, этот метод должен возвратить число дочерних элементов для элемента верхнего уровня.

    Обсуждение

    outlineView:numberOfChildrenOfItem: метод вызывают очень часто, таким образом, это должно быть эффективно.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Вызванный outlineView возвратить объект данных связалось с указанным item.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, objectValueForTableColumn tableColumn: NSTableColumn?, byItem item: AnyObject?) -> AnyObject?

    Objective C

    - (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    tableColumn

    Столбец в outlineView.

    item

    Элемент в источнике данных в указанном tableColumn из представления.

    Обсуждение

    Элемент расположен в указанном tableColumn из представления.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Установите объект данных для данного элемента в данном столбце.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, setObjectValue object: AnyObject?, forTableColumn tableColumn: NSTableColumn?, byItem item: AnyObject?)

    Objective C

    - (void)outlineView:(NSOutlineView *)outlineView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    object

    Новое значение для элемента.

    tableColumn

    Столбец в outlineView.

    item

    Элемент в источнике данных в указанном tableColumn из представления.

    Обсуждение

    Элемент расположен в указанном tableColumn из представления.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Возвращает булево значение, указывающее, была ли работа отбрасывания успешна.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, acceptDrop info: NSDraggingInfo, item item: AnyObject?, childIndex index: Int) -> Bool

    Objective C

    - (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id<NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index

    Параметры

    outlineView

    Представление схемы, отправившее сообщение. outlineView должно быть, ранее позволил отбрасывание.

    info

    Объект, содержащий больше информации об этой работе перетаскивания.

    item

    Родитель элемента, на который был установлен курсор, когда была отпущена кнопка мыши.

    index

    Индекс дочернего элемента item когда кнопка мыши была отпущена, на который был установлен курсор.

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

    YEStrue если работа отбрасывания была успешна, иначе NOfalse.

    Обсуждение

    Источник данных должен включить данные от области монтажа перетаскивания в реализации этого метода. Можно получить данные для работы отбрасывания от информации с помощью draggingPasteboard метод.

    Возвращаемое значение указывает успешность или неуспешность работы перетаскивания к системе.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

    См. также

    shouldCollapseAutoExpandedItemsForDeposited: (NSOutlineView)

  • Используемый схемой просматривают для определения допустимой цели отбрасывания.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, validateDrop info: NSDraggingInfo, proposedItem item: AnyObject?, proposedChildIndex index: Int) -> NSDragOperation

    Objective C

    - (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id<NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)index

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    info

    Объект, содержащий больше информации об этой работе перетаскивания.

    item

    Предложенный родитель.

    index

    Предложенное дочернее расположение.

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

    Значение, указывающее, который, перетаскивая работу выполнит источник данных.

    Обсуждение

    На основе положения мыши представление схемы предложит предложенное расположение отбрасывания. Источник данных может «перенастроить» отбрасывание при желании путем вызова setDropItem:dropChildIndex: и возврат чего-то другого, чем NSDragOperationNone. Можно принять решение перенастроить по различным причинам (например, по лучшей визуальной обратной связи при вставке в сортированную позицию).

    Реализация этого метода является дополнительной.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Возвращает массив имен файлов для создаваемых файлов, которые получатель обещает создать.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, namesOfPromisedFilesDroppedAtDestination dropDestination: NSURL, forDraggedItems items: [AnyObject]) -> [AnyObject]

    Objective C

    - (NSArray *)outlineView:(NSOutlineView *)outlineView namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination forDraggedItems:(NSArray *)items

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    dropDestination

    Расположение отбрасывания, где создаются файлы.

    items

    Перетаскиваемые элементы.

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

    Массив имен файлов (не полные пути) для создаваемых файлов, которые получатель обещает создать.

    Обсуждение

    Для получения дополнительной информации о файле обещайте перетащить, см. документацию относительно NSDraggingSource протокол и namesOfPromisedFilesDroppedAtDestination:.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Реализуйте этот метод для знания, когда закончится данное перетаскивание сеанса. (требуемый)

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, draggingSession session: NSDraggingSession, endedAtPoint screenPoint: NSPoint, operation operation: NSDragOperation)

    Objective C

    - (void)outlineView:(NSOutlineView *)outlineView draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint)screenPoint operation:(NSDragOperation)operation

    Параметры

    outlineView

    Представление схемы, в котором началось перетаскивание.

    session

    Закончившийся сеанс перетаскивания.

    screenPoint

    Точка на экране, в которой закончилось перетаскивание.

    operation

    Маска, указывающая типы операций перетаскивания, разрешена источником перетаскивания.

    Обсуждение

    Можно реализовать этот дополнительный метод делегата знать, когда исходная работа перетаскивания закончилась в определенном расположении, таком как мусор (путем проверки на работу NSDragOperationDelete).

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Реализация, которую знает этот метод, когда данное перетаскивание сеанса собирается начаться и потенциально изменить сеанс перетаскивания. (требуемый)

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, draggingSession session: NSDraggingSession, willBeginAtPoint screenPoint: NSPoint, forItems draggedItems: [AnyObject])

    Objective C

    - (void)outlineView:(NSOutlineView *)outlineView draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint)screenPoint forItems:(NSArray *)draggedItems

    Параметры

    outlineView

    Представление схемы, в котором перетаскивание собирается начаться.

    session

    Сеанс перетаскивания, собирающийся начаться.

    screenPoint

    Точка на экране, в которой должно начаться перетаскивание.

    draggedItems

    Массив тот, элементов, которые будут перетащены, исключая элементы, для который outlineView:pasteboardWriterForItem: возвраты nil.

    Обсуждение

    draggedItems выстройте непосредственно соответствует, массив писателя области монтажа раньше начинал сеанс перетаскивания с NSView метод beginDraggingSessionWithItems:event:source:. Следовательно, порядок детерминирован, и может использоваться в outlineView:acceptDrop:item:childIndex: при перечислении NSDraggingInfo классы области монтажа протокола.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Реализуйте этот метод, чтобы позволить таблице быть NSDraggingSource это поддерживает перетаскивающие многократные элементы. (требуемый)

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, pasteboardWriterForItem item: AnyObject?) -> NSPasteboardWriting!

    Objective C

    - (id<NSPasteboardWriting>)outlineView:(NSOutlineView *)outlineView pasteboardWriterForItem:(id)item

    Параметры

    outlineView

    Представление схемы, в котором начинается перетаскивание.

    item

    Элемент, для которого можно возвратить писателя области монтажа.

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

    Реализующий пользовательский объект NSPasteboardWriting протокол (или просто используют NSPasteboardItem).

    Обсуждение

    Если этот метод реализован, то outlineView:writeItems:toPasteboard: не вызывается.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Реализуйте этот метод, чтобы позволить таблице обновить элементы перетаскивания, когда они перетаскиваются по представлению. (требуемый)

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, updateDraggingItemsForDrag draggingInfo: NSDraggingInfo)

    Objective C

    - (void)outlineView:(NSOutlineView *)outlineView updateDraggingItemsForDrag:(id<NSDraggingInfo>)draggingInfo

    Параметры

    outlineView

    Представление схемы, в котором происходит перетаскивание.

    draggingInfo

    Информационный объект перетаскивания.

    Обсуждение

    Реализация этого метода требуется для перетаскивания мультиизображения. Типичная реализация вызывает переданный - в перетаскивании информационного объекта enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock: метод и наборы элемент перетаскивания imageComponentsProvider свойство к надлежащему изображению на основе содержания. Для находящихся в NSView табличных представлений можно использовать NSTableCellView метод draggingImageComponents.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Вызванный outlineView возвратить элемент для заархивированного object.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, itemForPersistentObject object: AnyObject) -> AnyObject!

    Objective C

    - (id)outlineView:(NSOutlineView *)outlineView itemForPersistentObject:(id)object

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    object

    Заархивированное представление элемента в outlineViewисточник данных.

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

    Разархивированное соответствие элемента object. Если элемент является архивным объектом, этот метод может возвратить объект.

    Обсуждение

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

    Специальные замечания

    Необходимо реализовать этот метод при автоматическом сохранении расширенных элементов (т.е. если autosaveExpandedItems возвраты YEStrue).

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Вызванный outlineView возвратить архивный объект для item.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, persistentObjectForItem item: AnyObject?) -> AnyObject!

    Objective C

    - (id)outlineView:(NSOutlineView *)outlineView persistentObjectForItem:(id)item

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    item

    Элемент, для которого можно возвратить архивный объект.

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

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

    Обсуждение

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

    Специальные замечания

    Необходимо реализовать этот метод при автоматическом сохранении расширенных элементов (т.е. если autosaveExpandedItems возвраты YEStrue).

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

  • Возвращает булево значение, указывающее, позволяется ли работа перетаскивания.

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, writeItems items: [AnyObject], toPasteboard pboard: NSPasteboard) -> Bool

    Objective C

    - (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard

    Параметры

    outlineView

    Представление схемы, вызвавшее метод.

    items

    Массив элементов, участвующих в перетаскивании.

    pboard

    Область монтажа, в которую можно записать данные перетаскивания.

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

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

    Обсуждение

    Вызванный outlineView после того, как было определено, что перетаскивание должно начаться, но прежде чем было запущено перетаскивание.

    Для отказа от перетаскивания возвратиться NOfalse. Для запуска перетаскивания возвратиться YEStrue и поместите данные перетаскивания на pboard (данные, владелец, и т.д.). Изображение перетаскивания и другое перетаскивание связанная информация будет установлена и предоставлена представлением схемы, как только этот вызов возвращается с YEStrue.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.

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

    Объявление

    Swift

    optional func outlineView(_ outlineView: NSOutlineView, sortDescriptorsDidChange oldDescriptors: [AnyObject])

    Objective C

    - (void)outlineView:(NSOutlineView *)outlineView sortDescriptorsDidChange:(NSArray *)oldDescriptors

    Параметры

    outlineView

    Представление схемы, отправившее сообщение.

    oldDescriptors

    Массив, содержащий предыдущие дескрипторы.

    Обсуждение

    Источник данных обычно виды и перезагрузки данные, и корректирует выборы соответственно. Если необходимо знать текущие дескрипторы вида, и источник данных самостоятельно не управляет ими, можно добраться outlineViewтекущие дескрипторы вида путем отправки ему a sortDescriptors сообщение.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    Доступный как часть неофициального протокола до OS X v10.6.