![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
1) если есть:
public function set myVar(value){} public function get myVar():int{} ... function init(method:Function){} как вызвать функцию init с параметром сеттера myVar? 2) как передать примитивное значение (int,String...) по ссылке? Последний раз редактировалось chabapok; 08.11.2009 в 18:55. |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
1) Зачем?
2) Написать простенький контейнер для этих значений или использовать встроенный: Последний раз редактировалось SamFR; 08.11.2009 в 18:43. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
|
1 - то есть как это зачем? чтобы в функции init можно было менять те значения, контроллером которых она является.
Я, конечно, упростил задачу, выделив главное. Поэтому, неочевидно зачем оно нужно. 2 - сам так думал, но это не cработало, почему-то. |
|
|||||
|
Banned
Регистрация: Sep 2009
Сообщений: 231
|
Не думаю что понял задачу правильно, но почему бы не передавать в init название сеттера (setterName), а дальше обращатся как
|
|
|||||
|
Конечно я знаю, что у сеттера и геттера одно название на двоих.
Конечно есть иной путь, и я им уже пошел - переделал сеттер в функцию setMyValue, а как взять адрес простой (не set) функции - это любой знает. Но хотелось бы все же разобраться. Что я хочу сделать - рассказывать долго, я не хотел этого касаться. Нор раз спрашивают У меня есть, допустим, форма -- 100 полей TextField. (flex не рекомендовать, разговариваем про flash). И есть несколько классов со статическими переменными, которые нужно забиндить каждую со своим полем TextField. Причем в некоторых случаях нужно простое копирование, а в некоторых, например, разложить в массив параметры, введенные через запятую в текстовое поле. А в некоторых - еще какая-то другая логика парсинга того, что вводится в TextField. Выход - я пишу 1 класс, контроллер, а экземпляры контроллера связываю с конкретным экземпляром TextField и конкретным set-методом. Плюс контроллер этот контролирует еще подсказки, которые в TextField выводятся, на все эти события подписывается, вид курсора меняет при наведении и тд. Собственно, на каждое TextField писать свою функцию подсказок скучно, а 1 класс с этим всем легко справляется. после того, как я переделал "function set myValue()" в "function setMyValue()" -- все заработало, но просто это уже дело принципа - можно ли взять ссылку на сеттер. |
|
|||||
|
Как мне видится сейчас - нет.
Ну, если у меня сейчас из одно TextField складывается в String, а из другого - в Arraу, то сейчас я имею просто два разных сет-метода (ну или теперь функции) а пришлось бы два разных класса делать. плюс третий - с общими методами, в котором подсказки реализованы. И на каждый способ расклыдвания пришлось бы заводить свой класс. А потом я путаюсь в именах файлов, и по два часа думаю как же обозвать воо-он тот класс. Но мы ушли в оффтопик. Тема паттернов перктирования интересна и мне малопонятна, но исходный вопрос был все-таки про синтаксис |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|