В чем разница между NSTextField и NSTextFieldCell и с чем мне связываться?
В целом, в чем разница между классами управления и классами контрольных ячеек? Кнопки имеют одинаковую иерархию, например - NSButton и NSButtonCell.
Глядя на документацию для привязок NSTextField и привязок NSTextFieldCell, они обе имеют одинаковую документацию для "значения". Почему они оба имеют ценность? Может ли один существовать без другого и при этом отображать значение?
NSString или NSNumber, который отображается как содержимое NSTextField.
NSString или NSNumber, который отображается как содержимое NSTextFieldCell.
Поэтому, когда я перетаскиваю текстовое поле или любой другой элемент управления в свой пользовательский интерфейс, как я могу определить, с какими объектами в иерархии на самом деле связываться?
В IB есть намного более сложные элементы управления, которые создают сложные иерархии в структуре документа, и, так как я искал, я не смог найти документы, которые объясняют, на каких объектах я должен сосредоточиться и работать с точки зрения привязок и связей.,
Я согласен с ответом на NSTextField/NSTextFieldCell, но очень хотел бы знать, как различить различия между всеми элементами, составляющими элемент управления, и на которых я должен сосредоточиться при разработке своего приложения.
2 ответа
Привязать к NSTextField. NSCells существуют для того, чтобы помочь рисовать вещи на экране, но в значительной степени являются пережитком прошлого, когда предоставление всего собственного представления считалось проблемой производительности. Apple постепенно их обесценивает. Они предоставляют много одного и того же интерфейса, но поле NSText будет правильно делегировать нужную информацию в свою ячейку, если это необходимо. Вам действительно нужно изменить ячейку, только если вы планируете изменить ее внешний вид.
- Используйте NSTextField, чтобы изменить цвет текста, установить текстовую строку по умолчанию, установить фон поля.
- Используйте NSTextFieldCell, чтобы установить текст заполнителя по умолчанию.