Я не понимаю, где происходит преобразование данных из Core Data в подкласс NSView
.
После прочтения Темы по программированию Cocoa Bindings они, кажется, предлагают сделать это преобразование в NSArrayController
.
Но затем я прочитал их Bindings Message Flow, и на шаге 10 подразумевается, что преобразования происходят в подклассе NSViewController
.
Я также слышал, что NSArrayController
или что-либо из NSController
не должны быть подклассами. Но затем я прочитал из этого StackOverflow, что NSController
и его подклассы предназначены для создания подклассов всякий раз, когда у вас есть другая форма данных. выходить, чем входить в NSView
.
Итак, что это?
Мое приложение
Я разработал свечной график, который использует ряд объектов из пользовательского класса Candle
для представления CAShapeLayer
и других свойств.
Для меня это идеальное место для NSArrayController
управления всеми Candle
объектами, которые у меня есть для любого конкретного свечного графика NSView
.
Некоторые из моих данных мне нужно преобразовать из значений цены Float
в значения CGFloat
пикселей. Для этого я занимаюсь геометрией и математикой.
Очевидно, что NSArrayController
будет обрабатывать Candle
объектов, но преобразование данных происходит в NSViewController
или NSArrayController
?
NSViewController
(не существовало в 2003 году). Привязка может иметь преобразователь значений (подклассNSValueTransformer
), который выполняет преобразование. - person Willeke   schedule 30.08.2018NSView
, а в подклассеNSController
, который имеет экземплярNSValueTransformer
для преобразования привязки, верно? Итак, я бы подклассValueTransformer
(я думаю, API был обновлен). Это означает, чтоNSArrayController
по-прежнему не должен быть подклассом, верно? - person Israel Flores   schedule 31.08.2018NSValueTransformer
этоValueTransformer
в Swift.NSArrayController
в этом случае не должен быть подклассом. - person Willeke   schedule 31.08.2018NSArrayController
? Некоторые говорят, что он должен быть в подклассеNSViewController
, но подклассNSView
нужен для методаbind
. Я также думал о включении в подкласс NSWindowController, поскольку представление может ссылаться на свое окно. Тогда как Core Databind
будет ссылаться на экземплярNSController
? - person Israel Flores   schedule 31.08.2018