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(content
content
: 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: Bool
Objective C
@property BOOL automaticallyPreparesContent
Параметры
flag
Флаг, указывающий, подготавливает ли получатель автоматически свое содержание.
Обсуждение
Если
flag
YES
true
и получатель не использует контекст управляемого объекта,prepareContent
используется для создания объекта содержания. Еслиflag
YES
true
и контекст управляемого объекта установлен, начальное содержание выбирается от контекста управляемого объекта с помощью текущего предиката выборки. Значение по умолчаниюNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает булево значение, указывающее, подготавливает ли получатель автоматически свое содержание, когда он загружается из пера.
Объявление
Swift
var automaticallyPreparesContent: Bool
Objective C
@property BOOL automaticallyPreparesContent
Возвращаемое значение
YES
true
если получатель автоматически подготавливает свое содержание, когда загружено из пера, иначеNO
false
.Обсуждение
Посмотрите
setAutomaticallyPreparesContent:
для полного объяснения «автоматически подготавливает содержание».Значение по умолчанию
NO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
-
Обычно переопределенный подклассами, требующими дополнительного управления созданием новых объектов.
Объявление
Swift
func prepareContent()
Objective C
- (void)prepareContent
Обсуждение
Подклассы, реализующие этот метод, ответственны за создание нового объекта содержания и установку его как объект содержания получателя. Этот метод только вызывают если
automaticallyPreparesContent
был установлен вYES
true
.Оператор импорта
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() -> AnyObject
Objective C
- (id)newObject
Возвращаемое значение
Новый объект надлежащего класса. Возвращенный объект неявно сохраняется, отправитель ответственен за выпуск его (или с выпуском или с автовыпуском).
Если имя объекта определяется (см. setEntityName:), создаваемый объект является экземпляром класса, указанного для того объекта (и объект вставляется в контекст управляемого объекта получателя). Иначе создаваемый объект является экземпляром класса, возвращенного objectClass.
Обсуждение
Этот метод вызывают при добавлении и вставке объектов если
automaticallyPreparesContent
YES
true
.Реализация по умолчанию принимает класс, возвращенный
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
Возвращаемое значение
YES
true
если объект может быть добавлен к использованию получателяadd:
, иначеNO
false
.Обсуждение
Привязка может использовать этот метод для управления включением объектов пользовательского интерфейса.
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
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
Возвращаемое значение
YES
true
если объект может быть удален из использования получателяremove:
, иначеNO
false
.Обсуждение
Привязка может использовать этот метод для управления включением объектов пользовательского интерфейса.
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
См. также
-
Наборы, позволяет ли получатель добавлять и удалять объекты.
Объявление
Swift
var editable: Bool
Objective C
@property(getter=isEditable) BOOL editable
Параметры
flag
YES
true
если получатель должен позволить добавлять и удалять объекты, иначеNO
false
.Обсуждение
Значение по умолчанию
YES
true
.Оператор импорта
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
Возвращаемое значение
YES
true
если получатель позволяет добавлять и удалять объекты, иначеNO
false
.Обсуждение
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
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: Bool
Objective C
@property BOOL usesLazyFetching
Параметры
enabled
Булево значение, указывающее, использует ли получатель ленивую выборку.
Обсуждение
Когда включено контроллер использует много методов, обычно делающих управляющие большие наборы данных более эффективными. Как со всей оптимизацией, необходимо использовать подходящие инструменты анализа эффективности (такие как Инструменты) для определения лучшего решения.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает булевскую переменную, указывающую, использует ли получатель ленивую выборку.
Объявление
Swift
var usesLazyFetching: Bool
Objective C
@property BOOL usesLazyFetching
Возвращаемое значение
YES
true
если получатель использует ленивую выборку, иначеNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает запрос выборки по умолчанию, используемый получателем.
Объявление
Swift
func defaultFetchRequest() -> NSFetchRequest
Objective 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 *)
fetchRequest
merge:(BOOL)merge
error:(NSError **)error
Параметры
fetchRequest
Запрос выборки для использования для выборки. Передача
nil
использовать запрос выборки по умолчанию.merge
Если
YES
true
, получатель объединяет существующее содержание с результатом выборки, иначе получатель заменяет все содержание результатом выборки.error
Если ошибка происходит, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
YES
true
если выборка завершилась успешно, иначеNO
false
.Обсуждение
Этот метод выполняет много действий, которые Вы не можете воспроизвести. Для настройки этого метода необходимо поэтому создать собственный запрос выборки и затем вызвать
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
Возвращаемое значение
YES
true
если получатель может обработать метод действия;NO
false
если это не может.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.