Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.43] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 89 90 [91] 92 93 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#1351
,
|
|
|
|
Это вообще не то и не другое. Добавлено Цитата korvin @ В каком смысле "реализацию Action'ов"? Если ты про класс Action, то нет, пишется "обработчик Action.Execute" и всё. Соответственно можно просто связать два элемента интерфейса, если у них есть какое-то взаимодействие, не связанное с контроллером/моделью, т.е. чисто UI-шное взаимодействие. Я уже подзабыл немного, в той статье реализация метода touchIt пишется именно тобою. Добавлено Цитата korvin @ Цитата DesweR @ Кажется начинаю понимать (почитал ещё статью на хабре), в LiveBindings система связи с точностью до наоборот. Опиши поподробнее, как будет выглядеть процесс связывания двух Edit'ов и Label'а (из той задачки), а потом и свою задачку подгоню. Ну все просто, у контроллера будет Outlet типа TextField, а на интерфейсе например два UITextField, и они просто мышкой связываются с этим Outlet'ом. Всё. Эмм.. давай подробнее, что откуда берётся? (из коробки или пишется самим?) и каким образом работает сама связь? (т.е. тоже из коробки или пишется самим?) Добавлено Цитата korvin @ Цитата D_KEY @ По диагонали. Меня GUI сейчас мало интересует. Впечатление об отсутствии MVC создалось по критике со стороны korvin'а Отчасти да:Плюс реализация обработки событий для компонентов описывается в коде класса-контейнера (например SomeButton.OnClick в классе формы, на которой эта кнопка расположена) а не в коде самого компонента, что приводит к смешению обязанностей и следовательно несоблюдению MVC. Но в принципе писать в стиле MVC вполне можно. VCL кагбэ старше остальных, с чем то да туго, но зато IDE позволяет написать любую "инфраструктуру" под конкретно себя. |
|
Сообщ.
#1352
,
|
|
|
|
Цитата DesweR @ VCL кагбэ старше остальных, с чем то да туго, но зато IDE позволяет написать любую "инфраструктуру" под конкретно себя. VCL не старше NS-фреймворка вообще-то. |
|
Сообщ.
#1353
,
|
|
|
|
а у него уже свои ответы есть Добавлено Цитата korvin @ VCL не старше NS-фреймворка вообще-то. Я не знаю как он выглядел в то время. Добавлено Касаемо той давней задачки с биндингами компонентов, для ясности сейчас попробую записать видео. |
|
Сообщ.
#1354
,
|
|
|
|
Цитата DesweR @ Я не знаю как он выглядел в то время. Почти так же, как и сейчас. |
|
Сообщ.
#1355
,
|
|
|
|
Ну так как там с ответами на мои вопросы? Пока вижу одного неадеквата - Всеволода Леонова. Надо на него пожаловаться David I. |
|
Сообщ.
#1356
,
|
|
|
|
Controller.h:
![]() ![]() #import <Foundation/Foundation.h> @interface Controller : NSObject @property (nonatomic, retain) NSString *name; // input @property (nonatomic, retain) NSString *hello; // output - (IBAction)hello:(id)sender; @end Controller.m: ![]() ![]() #import "Controller.h" @implementation Controller @synthesize name, hello; - (void)hello:(id)sender { self.hello = [[NSString alloc] initWithFormat:@"Hello, %@", self.name]; } @end Теперь связываем UI-элементы со свойствами (справа binding inspector, смотри свойства bind to и model key path): ![]() ![]() ![]() итого все привязки объекта Controller: Добавлено Соответственно вот так будет работать: http://youtu.be/hhlH7TI_KkU |
|
Сообщ.
#1357
,
|
|
|
|
это обработчик нажатия кнопки?
Цитата korvin @ - (void)hello:(id)sender { self.hello = [[NSString alloc] initWithFormat:@"Hello, %@", self.name]; } где self - это контроллер? |
|
Сообщ.
#1358
,
|
|
|
|
korvin
Для полноты картины, запиши сам процесс связывания. |
|
Сообщ.
#1359
,
|
|
|
|
Цитата DesweR @ это обработчик нажатия кнопки? Цитата korvin @ - (void)hello:(id)sender { self.hello = [[NSString alloc] initWithFormat:@"Hello, %@", self.name]; } где self - это контроллер? это экш, где сендер — это объект, вызвавший экшн, т.е. в данном случае это будет кнопка. |
|
Сообщ.
#1360
,
|
|
|
|
http://youtu.be/j7AR5tr7Pm8
На форме находятся компоненты - один экземпляр TUiSearcher и три экземпляра TUiElement. У UiSearcher1 есть свойство UiElements - коллекция для компонентов реализующих интерфейс ICustomUiElement (т.е. связать элементы коллекции можно будет только с теми компонентами, которые поддерживают этот интерфейс). Вот на вскидку, как подобное реализовать в IB? Ну и на сладкое, у элемента коллекции есть свой специфический редактор свойств, отсеивающий в списке выбора уже существующие в коллекции компоненты и тем самым оберегая от ошибочного ввода. Первая половина видео - со стандартным редактором свойств TInterfaceProperty, вторая - с новым TFilteringInterfaceProperty. Сам редактор свойств никак не связан с компонентом и регистрируется отдельно (отдельным пакетом). Добавлено Цитата korvin @ т.е. в данном случае это будет кнопка. а self? |
|
Сообщ.
#1361
,
|
|
|
|
Цитата DesweR @ korvin Для полноты картины, запиши сам процесс связывания. http://youtu.be/VqBAhDoFelM Добавлено Цитата DesweR @ а self? Контроллер. Добавлено Цитата DesweR @ На форме находятся компоненты - один экземпляр TUiSearcher и три экземпляра TUiElement. У UiSearcher1 есть свойство UiElements - коллекция для компонентов реализующих интерфейс ICustomUiElement (т.е. связать элементы коллекции можно будет только с теми компонентами, которые поддерживают этот интерфейс). Вот на вскидку, как подобное реализовать в IB? Вот навскидку зачем это нужно? Добавлено Твое видео посмотрю чуть позже, нужно по делам сходить. |
|
Сообщ.
#1362
,
|
|
|
|
Цитата korvin @ Вот навскидку зачем это нужно? Это базовые взаимоотношения между компонентами, применяться могут для чего угодно (в моём случае для создания карты визуальных компонентов и последующих поиска и навигации по ним). |
|
Сообщ.
#1363
,
|
|
|
|
Цитата DesweR @ Это базовые взаимоотношения между компонентами, применяться могут для чего угодно (в моём случае для создания карты визуальных компонентов и последующих поиска и навигации по ним). Извини, но я не вижу тут никаких взаимоотношений и чем это отличается от массива/списка объектов, заданного программно. Можно ли, например, через этот Searcher одним движение руки установить какое-то свойство у элементов? Например Enabled? |
|
Сообщ.
#1364
,
|
|
|
|
Цитата korvin @ Извини, но я не вижу тут никаких взаимоотношений Конечно, ты же видишь только связь. Цитата korvin @ и чем это отличается от массива/списка объектов, заданного программно Цитата korvin @ Можно ли, например, через этот Searcher одним движение руки установить какое-то свойство у элементов? Например Enabled? Можно , более того можно сразу одним щелчком забить в коллекцию все доступные компоненты (или по фильтру) и не возёкать мышью по форме. |
|
Сообщ.
#1365
,
|
|
|
|
Цитата DesweR @ Это базовые взаимоотношения между компонентами, применяться могут для чего угодно (в моём случае для создания карты визуальных компонентов и последующих поиска и навигации по ним). Вообще коллекции элементов управления в Xcode делаются вот так: http://useyourloaf.com/blog/2011/3/28/inte...ollections.html Но че-то я у себя у textfield'ов не вижу свойства Outletd collection, вероятно это работает только для iOS-фреймворка =/ Добавлено Цитата DesweR @ Можно , более того можно сразу одним щелчком забить в коллекцию все доступные компоненты (или по фильтру) и не возёкать мышью по форме. Реквестирую демонстрацию. Добавлено Цитата DesweR @ более того можно сразу одним щелчком забить в коллекцию все доступные компоненты (или по фильтру) и не возёкать мышью по форме. А потом сидеть и вычищать лишние? =) Под фильтром что подразумевается? Регексп по имени? |