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

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

Разработчик

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

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

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

NSTableViewDataSource

NSTableViewDataSource протокол объявляет методы что экземпляр NSTableView использование, чтобы предоставить данные табличному представлению и позволить редактировать содержания его объекта источника данных.

Некоторые методы в этом протоколе, такой как tableView:objectValueForTableColumn:row: и numberOfRowsInTableView: вместе с другими методами, возвращающими данные, часто вызываются, таким образом, они должны быть эффективными.

Если Вы не используете привязку Какао для предоставления данных табличному представлению, следующие методы требуются:

Для узнавания больше о привязке Какао посмотрите, что Привязка Какао Программирует Темы.

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


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

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


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.6 и позже.
  • Возвращает число записей, для которых управляют aTableView по условию исходный объект.

    Объявление

    Swift

    optional func numberOfRowsInTableView(_ aTableView: NSTableView) -> Int

    Objective C

    - (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

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

    Число строк в aTableView.

    Обсуждение

    Экземпляр NSTableView использование этот метод для определения, сколько строк это должно создать и вывести на экран. Ваш numberOfRowsInTableView: реализацию вызывают очень часто, таким образом, это должно быть эффективно.

    И основанные на представлении табличные представления и основанные на ячейке табличные представления должны реализовать этот метод.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

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

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, objectValueForTableColumn aTableColumn: NSTableColumn?, row rowIndex: Int) -> AnyObject?

    Objective C

    - (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    aTableColumn

    Столбец в aTableView.

    rowIndex

    Строка элемента в aTableColumn.

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

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

    Обсуждение

    tableView:objectValueForTableColumn:row: вызывается каждый раз, когда ячейка таблицы должна быть восстановлена, таким образом, это должно быть эффективно.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

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

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, setObjectValue anObject: AnyObject?, forTableColumn aTableColumn: NSTableColumn?, row rowIndex: Int)

    Objective C

    - (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    anObject

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

    aTableColumn

    Столбец в aTableView.

    rowIndex

    Строка элемента в aTableColumn.

    Обсуждение

    Этот метод предназначается для использования с основанными на ячейке табличными представлениями, это не должно использоваться с основанными на представлении табличными представлениями. В основанных на представлении таблицах используйте цель/действие для установки каждого элемента в ячейке представления.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

  • Вызванный, чтобы позволить таблице поддерживать многократное перетаскивание элемента.

    Объявление

    Swift

    optional func tableView(_ tableView: NSTableView, pasteboardWriterForRow row: Int) -> NSPasteboardWriting?

    Objective C

    - (id<NSPasteboardWriting>)tableView:(NSTableView *)tableView pasteboardWriterForRow:(NSInteger)row

    Параметры

    tableView

    Табличное представление.

    row

    Строка.

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

    Возвращает экземпляр NSPasteboardItem или пользовательский объект, реализующий NSPasteboardWriting протокол. Возврат nil исключает строку из того, чтобы быть перетащенным.

    Обсуждение

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

    Если этот метод реализован, то tableView:writeRowsWithIndexes:toPasteboard: не будет вызван.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, acceptDrop info: NSDraggingInfo, row row: Int, dropOperation operation: NSTableViewDropOperation) -> Bool

    Objective C

    - (BOOL)tableView:(NSTableView *)aTableView acceptDrop:(id<NSDraggingInfo>)info row:(NSInteger)row dropOperation:(NSTableViewDropOperation)operation

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    info

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

    row

    Индекс предложенной целевой строки.

    operation

    Тип перетаскивания работы.

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

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

    Обсуждение

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

    Принять отбрасывание на второй строке, row был бы 2 и operation был бы NSTableViewDropOn. Принять отбрасывание ниже последней строки, row был бы [aTableView numberOfRows] и operation был бы NSTableViewDropAbove.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

  • Возвращает массив имен файлов, представляющих indexSet строки для перетаскивания к dropDestination.

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, namesOfPromisedFilesDroppedAtDestination dropDestination: NSURL, forDraggedRowsWithIndexes indexSet: NSIndexSet) -> [AnyObject]

    Objective C

    - (NSArray *)tableView:(NSTableView *)aTableView namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination forDraggedRowsWithIndexes:(NSIndexSet *)indexSet

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    dropDestination

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

    indexSet

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

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

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

    Обсуждение

    Этот метод вызывают, когда место назначения признало, что обещание перетаскивает.

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

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

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, validateDrop info: NSDraggingInfo, proposedRow row: Int, proposedDropOperation operation: NSTableViewDropOperation) -> NSDragOperation

    Objective C

    - (NSDragOperation)tableView:(NSTableView *)aTableView validateDrop:(id<NSDraggingInfo>)info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)operation

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    info

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

    row

    Индекс предложенной целевой строки.

    operation

    Тип перетаскивания работы сделал предложение.

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

    Работа перетаскивания источник данных выполнит.

    Обсуждение

    Источник данных может перенастроить отбрасывание путем вызова setDropRow:dropOperation: и возврат чего-то другого, чем NSDragOperationNone. Источник данных мог бы перенастроить по различным причинам, например, для обеспечения лучше визуальной обратной связи при вставке в сортированную позицию.

    Предложить отбрасывание на второй строке, row был бы 2 и operation был бы NSTableViewDropOn. Предложить отбрасывание ниже последней строки, row был бы [aTableView numberOfRows] и operation был бы NSTableViewDropAbove.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

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

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, writeRowsWithIndexes rowIndexes: NSIndexSet, toPasteboard pboard: NSPasteboard) -> Bool

    Objective C

    - (BOOL)tableView:(NSTableView *)aTableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    rowIndexes

    Индексный набор номеров строк, которые будут участвовать в перетаскивании.

    pboard

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

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

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

    Обсуждение

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

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

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

    Объявление

    Swift

    optional func tableView(_ tableView: NSTableView, draggingSession session: NSDraggingSession, willBeginAtPoint screenPoint: NSPoint, forRowIndexes rowIndexes: NSIndexSet)

    Objective C

    - (void)tableView:(NSTableView *)tableView draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint)screenPoint forRowIndexes:(NSIndexSet *)rowIndexes

    Параметры

    tableView

    Табличное представление.

    session

    Сеанс перетаскивания.

    screenPoint

    Начальное расположение перетаскивания в координатах экрана.

    rowIndexes

    Индексы строк, которые будут перетащены, исключая строки, не перетащенные вследствие tableView:pasteboardWriterForRow: возврат nil.

    Обсуждение

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

    Перетащенный порядок элемента будет непосредственно соответствовать, массив писателя области монтажа раньше начинал сеанс перетаскивания с NSView метод beginDraggingSessionWithItems:event:source:. Следовательно, порядок детерминирован, и может использоваться в tableView:acceptDrop:row:dropOperation: при перечислении NSDraggingInfo классы области монтажа.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    optional func tableView(_ tableView: NSTableView, updateDraggingItemsForDrag draggingInfo: NSDraggingInfo)

    Objective C

    - (void)tableView:(NSTableView *)tableView updateDraggingItemsForDrag:(id<NSDraggingInfo>)draggingInfo

    Параметры

    tableView

    Табличное представление.

    draggingInfo

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

    Обсуждение

    Требуемый для перетаскивания мультиизображения. Обычно это включит вызов enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock: на draggingInfo значение параметра и установка draggingItem объект imageComponentsProvider к надлежащему изображению на основе содержания.

    Для основанных на представлении табличных представлений можно использовать NSTableCellView метод draggingImageComponents. Для основанных на ячейке таблиц используйте NSCell метод draggingImageComponentsWithFrame:inView:.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    optional func tableView(_ tableView: NSTableView, draggingSession session: NSDraggingSession, endedAtPoint screenPoint: NSPoint, operation operation: NSDragOperation)

    Objective C

    - (void)tableView:(NSTableView *)tableView draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint)screenPoint operation:(NSDragOperation)operation

    Параметры

    tableView

    Табличное представление.

    session

    Сеанс перетаскивания.

    screenPoint

    Конечное расположение перетаскивания в координатах экрана.

    operation

    Работа перетаскивания. Посмотрите NSDragOperation для поддерживаемых значений.

    Обсуждение

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    optional func tableView(_ aTableView: NSTableView, sortDescriptorsDidChange oldDescriptors: [AnyObject])

    Objective C

    - (void)tableView:(NSTableView *)aTableView sortDescriptorsDidChange:(NSArray *)oldDescriptors

    Параметры

    aTableView

    Табличное представление, отправившее сообщение.

    oldDescriptors

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

    Обсуждение

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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