NSObjectController
NSObjectController Какао совместимый с привязкой класс контроллера. Свойства объекта содержания экземпляров этого класса могут быть обязаны с элементами пользовательского интерфейса получить доступ и изменить их значения.
По умолчанию, содержание NSObjectController экземпляр NSMutableDictionary объект. Это позволяет сингл NSObjectController экземпляр, который будет использоваться для управления многими различными свойствами, на которые ссылаются пути значения ключа. Класс объекта содержания по умолчанию может быть изменен путем вызова setObjectClass:, который должны переопределить подклассы. Ваше приложение должно использовать пользовательский класс данных, который является значением ключа, совместимым, когда это возможно.
Объектные контроллеры, режим объекта и ленивая выборка
NSObjectController и его подклассы, когда в режиме объекта, могут теперь выбрать лениво. С ленивой выборкой позволил использовать метод setUsesLazyFetching:, контроллер попытается выбрать только мелкую сумму данных от доступных персистентных хранилищ. Это может обеспечить существенное улучшение в использовании памяти, когда большая сумма содержания сохранена на диске, но просто подмножество тех данных требуется в памяти.
Когда установлено для использования ленивой выборки контроллер выберет объекты в пакетах. Можно изменить объем партии по умолчанию для приложения путем установки значения для пользовательское значение по умолчанию»com.apple.CocoaBindings.LazyFetchBatchSize«. Если Вам обяжут табличные представления с набором контроллера массива использовать ленивую выборку, то размер объема партии контроллера будет расти, как растет видимое количество строки табличных представлений.
Добавьте, Вставьте, и операции Remove на контроллерах, что ленивая выборка использования ведет себя так же к тем же операциям на регулярном контроллере. Различие - то, что это быстрее для сортировки контроллера массива с помощью ленивой выборки если:
Все ключи
sortDescriptorsмассив моделируется, не переходные свойства.Все селекторы в
sortDescriptorsмассивcompare:илиcaseInsensitiveCompare:.В контексте управляемого объекта контроллера нет никаких изменений
Наследование
-
NSObject -
NSController -
NSObjectController -
NSArrayController -
NSTreeController
-
NSObject -
NSController -
NSObjectController -
NSArrayController -
NSTreeController
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSObject
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.3 и позже.
-
init (содержание:) - initWithContent:Определяемый инициализаторИнициализирует и возвращается
NSObjectControllerобъект с данным содержанием.Объявление
Swift
init(contentcontent: AnyObject?)Objective C
- (instancetype)initWithContent:(id)contentПараметры
contentСодержание для получателя.
Возвращаемое значение
Инициализированный объектный контроллер, с его набором объекта содержания к
content.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Устанавливает объект содержания получателя.
Объявление
Swift
var content: AnyObject?Objective C
@property(strong) id contentПараметры
contentОбъект содержания для получателя.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Возвращает объект содержания получателя.
Объявление
Swift
var content: AnyObject?Objective C
@property(strong) id contentВозвращаемое значение
Объект содержания получателя.
Обсуждение
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Наборы, создает ли получатель автоматически и вставляет новые объекты содержания автоматически при загрузке от файла пера.
Объявление
Swift
var automaticallyPreparesContent: BoolObjective C
@property BOOL automaticallyPreparesContentПараметры
flagФлаг, указывающий, подготавливает ли получатель автоматически свое содержание.
Обсуждение
Если
flagYEStrueи получатель не использует контекст управляемого объекта,prepareContentиспользуется для создания объекта содержания. ЕслиflagYEStrueи контекст управляемого объекта установлен, начальное содержание выбирается от контекста управляемого объекта с помощью текущего предиката выборки. Значение по умолчаниюNOfalse.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Возвращает булево значение, указывающее, подготавливает ли получатель автоматически свое содержание, когда он загружается из пера.
Объявление
Swift
var automaticallyPreparesContent: BoolObjective C
@property BOOL automaticallyPreparesContentВозвращаемое значение
YEStrueесли получатель автоматически подготавливает свое содержание, когда загружено из пера, иначеNOfalse.Обсуждение
Посмотрите
setAutomaticallyPreparesContent:для полного объяснения «автоматически подготавливает содержание».Значение по умолчанию
NOfalse.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Обычно переопределенный подклассами, требующими дополнительного управления созданием новых объектов.
Объявление
Swift
func prepareContent()Objective C
- (void)prepareContentОбсуждение
Подклассы, реализующие этот метод, ответственны за создание нового объекта содержания и установку его как объект содержания получателя. Этот метод только вызывают если
automaticallyPreparesContentбыл установлен вYEStrue.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Устанавливает класс объекта для использования при создании новых объектов.
Объявление
Swift
var objectClass: AnyClass!Objective C
@property(assign) Class objectClassПараметры
objectClassКласс объекта для использования при создании новых объектов.
Обсуждение
NSObjectControllerреализация по умолчанию принимает это экземплярыobjectClassинициализируются с помощью стандартаinitметод, не берущий параметров.Если имя объекта было определено (см. setEntityName:), этот метод не имеет никакого эффекта.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Возвращает класс, используемый при создании новых неосновных Объектов данных.
Объявление
Swift
var objectClass: AnyClass!Objective C
@property(assign) Class objectClassВозвращаемое значение
Класс объекта, используемый при создании новых неосновных Объектов данных (т.е. если никакой объект не был установлен) — видит newObject.
Обсуждение
Если объект был установлен, то класс, возвращенный этим методом, автоматически не отражает класс для объекта.
Класс по умолчанию
NSMutableDictionary.Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Создает и возвращает новый объект надлежащего класса.
Объявление
Swift
func newObject() -> AnyObjectObjective C
- (id)newObjectВозвращаемое значение
Новый объект надлежащего класса. Возвращенный объект неявно сохраняется, отправитель ответственен за выпуск его (или с выпуском или с автовыпуском).
Если имя объекта определяется (см. setEntityName:), создаваемый объект является экземпляром класса, указанного для того объекта (и объект вставляется в контекст управляемого объекта получателя). Иначе создаваемый объект является экземпляром класса, возвращенного objectClass.
Обсуждение
Этот метод вызывают при добавлении и вставке объектов если
automaticallyPreparesContentYEStrue.Реализация по умолчанию принимает класс, возвращенный
objectClassимеет стандартinitметод без параметров. Если класс объекта, которым управляют,NSManagedObject(или подкласс этого) его определяемый инициализатор (initWithEntity:insertIntoManagedObjectContext:) вызывается вместо этого, с помощью объекта и контекста управляемого объекта, указанного для получателя.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
-
Устанавливает объект содержания получателя.
Объявление
Swift
func addObject(_object: AnyObject)Objective C
- (void)addObject:(id)objectПараметры
objectОбъект содержания для получателя.
Обсуждение
Если содержание получателя связывается с другим объектом или контроллером через ключ отношения, отношение «основного» объекта изменяется.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Удаляет данный объект из содержания получателя.
Объявление
Swift
func removeObject(_object: AnyObject)Objective C
- (void)removeObject:(id)objectПараметры
objectОбъект удалить из получателя.
Обсуждение
Если
objectобъект содержания получателя, содержание получателя установлено вnil. Если содержание получателя связывается с другим объектом или контроллером через ключ отношения, отношение 'основного' объекта очищено.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Создает новый объект и устанавливает его как объект содержания получателя.
Объявление
Swift
func add(_sender: AnyObject?)Objective C
- (void)add:(id)senderПараметры
senderОбычно объект, вызвавший этот метод.
Обсуждение
Создает новый объект надлежащего объекта (указанный entityName) или класс (указанный
objectClass) — видят newObject — и устанавливает его как использование объекта содержания получателяaddObject:.Специальные замечания
Начало с OS X v10.4 результат этого метода задерживается до следующей итерации runloop так, чтобы ошибочный механизм представления мог обеспечить обратную связь как лист.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Возвращает булево значение, указывающее, может ли объект быть добавлен к использованию получателя
add:.Объявление
Swift
var canAdd: Bool { get }Objective C
@property(readonly) BOOL canAddВозвращаемое значение
YEStrueесли объект может быть добавлен к использованию получателяadd:, иначеNOfalse.Обсуждение
Привязка может использовать этот метод для управления включением объектов пользовательского интерфейса.
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Удаляет объект содержания получателя.
Объявление
Swift
func remove(_sender: AnyObject?)Objective C
- (void)remove:(id)senderПараметры
senderОбычно объект, вызвавший этот метод.
Обсуждение
Удаляет использование объекта содержания получателя
removeObject:.Специальные замечания
Начало с OS X v10.4 результат этого метода задерживается до следующей итерации runloop так, чтобы ошибочный механизм представления мог обеспечить обратную связь как лист.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Возвращает булево значение, указывающее, может ли объект быть удален из получателя.
Объявление
Swift
var canRemove: Bool { get }Objective C
@property(readonly) BOOL canRemoveВозвращаемое значение
YEStrueесли объект может быть удален из использования получателяremove:, иначеNOfalse.Обсуждение
Привязка может использовать этот метод для управления включением объектов пользовательского интерфейса.
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Наборы, позволяет ли получатель добавлять и удалять объекты.
Объявление
Swift
var editable: BoolObjective C
@property(getter=isEditable) BOOL editableПараметры
flagYEStrueесли получатель должен позволить добавлять и удалять объекты, иначеNOfalse.Обсуждение
Значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
isEditable - isEditableДоступный в OS X v10.3 через OS X v10.9Возвращает булево значение, указывающее, позволяет ли получатель добавлять и удалять объекты.
Объявление
Objective C
- (BOOL)isEditableВозвращаемое значение
YEStrueесли получатель позволяет добавлять и удалять объекты, иначеNOfalse.Обсуждение
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.3 через OS X v10.9.
См. также
-
Возвращает имя объекта, используемое получателем для создания новых объектов.
Возвращаемое значение
Имя объекта, используемое получателем для создания новых объектов.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Определяет имя объекта, используемое получателем для создания новых объектов.
Параметры
entityNameИмя объекта, используемое получателем для создания новых объектов.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Заставляет получатель выбирать объекты данных, указанные именем объекта и предикатом выборки.
Объявление
Swift
func fetch(_sender: AnyObject?)Objective C
- (void)fetch:(id)senderПараметры
senderОбычно объект, вызвавший этот метод.
Специальные замечания
Начало с OS X v10.4 результат этого метода задерживается до следующей итерации runloop так, чтобы ошибочный механизм представления мог обеспечить обратную связь как лист.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Наборы, использует ли получатель ленивую выборку.
Объявление
Swift
var usesLazyFetching: BoolObjective C
@property BOOL usesLazyFetchingПараметры
enabledБулево значение, указывающее, использует ли получатель ленивую выборку.
Обсуждение
Когда включено контроллер использует много методов, обычно делающих управляющие большие наборы данных более эффективными. Как со всей оптимизацией, необходимо использовать подходящие инструменты анализа эффективности (такие как Инструменты) для определения лучшего решения.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает булевскую переменную, указывающую, использует ли получатель ленивую выборку.
Объявление
Swift
var usesLazyFetching: BoolObjective C
@property BOOL usesLazyFetchingВозвращаемое значение
YEStrueесли получатель использует ленивую выборку, иначеNOfalse.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
Возвращает запрос выборки по умолчанию, используемый получателем.
Объявление
Swift
func defaultFetchRequest() -> NSFetchRequestObjective C
- (NSFetchRequest *)defaultFetchRequestВозвращаемое значение
NSFetchResult по умолчанию используется получателем.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает предикат выборки получателя.
Объявление
Swift
var fetchPredicate: NSPredicate?Objective C
@property(strong) NSPredicate *fetchPredicateВозвращаемое значение
Предикат выборки получателя.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает предикат выборки получателя.
Объявление
Swift
var fetchPredicate: NSPredicate?Objective C
@property(strong) NSPredicate *fetchPredicateПараметры
predicateПредикат выборки для получателя.
Обсуждение
Использование получателя
predicateпри выборке его содержания, например в fetch:. Если необходимо настроить выбирающее поведение далее, можно переопределить fetchWithRequest:merge:error:.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает контекст управляемого объекта получателя.
Объявление
Swift
var managedObjectContext: NSManagedObjectContext?Objective C
@property(strong) NSManagedObjectContext *managedObjectContextВозвращаемое значение
Контекст управляемого объекта получателя.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает контекст управляемого объекта получателя.
Объявление
Swift
var managedObjectContext: NSManagedObjectContext?Objective C
@property(strong) NSManagedObjectContext *managedObjectContextПараметры
managedObjectContextКонтекст управляемого объекта для получателя.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Подклассы должны переопределить этот метод, чтобы настроить запрос выборки, например указать пределы выборки.
Объявление
Swift
func fetchWithRequest(_fetchRequest: NSFetchRequest?, mergemerge: Bool, errorerror: NSErrorPointer) -> BoolObjective C
- (BOOL)fetchWithRequest:(NSFetchRequest *)fetchRequestmerge:(BOOL)mergeerror:(NSError **)errorПараметры
fetchRequestЗапрос выборки для использования для выборки. Передача
nilиспользовать запрос выборки по умолчанию.mergeЕсли
YEStrue, получатель объединяет существующее содержание с результатом выборки, иначе получатель заменяет все содержание результатом выборки.errorЕсли ошибка происходит, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
YEStrueесли выборка завершилась успешно, иначеNOfalse.Обсуждение
Этот метод выполняет много действий, которые Вы не можете воспроизвести. Для настройки этого метода необходимо поэтому создать собственный запрос выборки и затем вызвать
superреализация с новым запросом выборки.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает массив всех объектов, которые будут затронуты путем редактирования.
Объявление
Swift
var selectedObjects: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *selectedObjectsВозвращаемое значение
Массив всех объектов, которые будут затронуты путем редактирования. Если получатель поддерживает механизм выбора, массив содержит значение ключа, кодирующее совместимые прокси выбранных объектов; иначе прокси для всех объектов содержания возвращаются. Если получатель является конкретным экземпляром
NSObjectController, возвращает массив, содержащий объект содержания получателя.Обсуждение
Необходимо избежать регистрироваться для изменений наблюдения значения ключа для ключевых путей, проходящих через этот метод, (например,
selectedObjects.firstName). Используя прокси, возвращенныйselectionметод лучше для производительности.Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Возвращает объект прокси, представляющий выбор получателя.
Объявление
Swift
var selection: AnyObject { get }Objective C
@property(readonly, strong) id selectionВозвращаемое значение
Объект прокси, представляющий выбор получателя. Этот объект является полностью значением ключа, кодирующим совместимый, но обратите внимание на то, что это - прокси и так не обеспечивает полный спектр функциональности, которая могла бы быть доступной в исходном объекте.
Обсуждение
Если значение, которое требуют от прокси выбора, использующего кодирование значения ключа, возвращает многократные объекты, контроллер не имеет никакого выбора, или прокси не является значением ключа, кодирующим совместимый для требуемого ключа, надлежащий маркер (
NSMultipleValuesMarker,NSNoSelectionMarkerилиNSNotApplicableMarker) возвращается. Иначе, значение ключа возвращается.Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Возвраты, может ли получатель обработать метод действия для элемента интерфейса пользователя.
Объявление
Swift
func validateUserInterfaceItem(_item: NSValidatedUserInterfaceItem) -> BoolObjective C
- (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)itemПараметры
itemВозвращаемое значение
YEStrueесли получатель может обработать метод действия;NOfalseесли это не может.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
