Показать сообщение отдельно
Старый 21.11.2010, 22:09
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 1  
Ответить с цитированием
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
По умолчанию MVC - как правильно сделать сигнал о загрузке XML?

Здравствуйте. Хочу сделать все не как всегда, а правильно. Итак, есть контроллер
Код AS1/AS2:
package 
{
	import flash.display.*;
	import flash.events.*;
	import flash.utils.*;
 
	public class Controller extends Sprite
	{
		public var view:View;
		public var xmlWohnungen;
 
 
 
		public function Controller()
		{
			this.addEventListener(Event.ADDED_TO_STAGE,init);
 
		}
		private function init(event:Event):void
		{
			view = new View;
			this.addChild(view);
			xmlWohnungen = new XMLLoader();
		}
 
	}
}
Есть View, оно все отображает,
и есть XMLLoader, он же парсер, из него пойдут данные в Модель :
Код AS1/AS2:
package 
{
	import flash.xml.*;
	import flash.events.*;
	import flash.net.*;
 
 
	public class XMLLoader
	{
		public var xmlDaten:XML;
		public var xmlDateiDaten:URLLoader;
		public var myURLRequest:URLRequest;
 
		public function XMLLoader()
		{
			xmlDateiDaten = new URLLoader();
			myURLRequest = new URLRequest();
			myURLRequest.url = "data.xml";
			xmlDateiDaten.load(myURLRequest);
 
			xmlDateiDaten.addEventListener(Event.COMPLETE, weiter);
 
		}
		private function weiter(e:Event)
		{
			xmlDaten = new XML(e.target.data);
		}						
	}
}
Задача такая, чтобы после загрузки XML подать сигнал в контроллер, что можно посылать информацию во View. Понимание такое, что надо написать dispatchEvent в XMLLoader и отловить его в контроллере. Вроде просто, но самому никак в первый раз не написать.
Помогите пожалуйста с dispatchEvent в XMLLoader и addEventListener в контроллере.
P.S: 1. Я знаю, что можно сделать проще и хитрее, но хочется сделать "по правилам".
2. Материалы по MVC на форуме читал, но не смог приспособить(угадал все буквы, но слово сложить не смог)


Последний раз редактировалось Nemez; 21.11.2010 в 22:13.