Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.04.2011, 17:08
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 1  
Ответить с цитированием
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
По умолчанию Как перебрать все переменные, которые заданы при помощи setProperty у SharedObject?

Можно ли перебрать все переменные ЭТОГО класса с помощью for или for each?
Можно ли перебрать все переменные произвольного класса с помощью for или for each?
Можно ли в общем случае писать a["x"] там где можно писать a.x?
Член класса и элемент ассоциативного массива - одно и то же?

Спасибо.
__________________
Димс

Старый 26.04.2011, 17:37
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 2  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
переменные класса нет, а переменные экземпляра класса вполне.
ваши данные, заданные через SharedObject#setProperty хранятся в data свойстве (тип Object).
можно и напрямую задавать свои свойства напрямую работая с data
в АС нет ассоциативных массивов.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 26.04.2011, 21:17
dims12 вне форума Посмотреть профиль Отправить личное сообщение для dims12 Посетить домашнюю страницу dims12 Найти все сообщения от dims12
  № 3  
Ответить с цитированием
dims12

Регистрация: Sep 2003
Адрес: Россия, Москва
Сообщений: 29
Отправить сообщение для dims12 с помощью ICQ
Цитата:
Сообщение от cleptoman Посмотреть сообщение
переменные класса нет, а переменные экземпляра класса вполне.
То есть, можно писать и a["x"] и a.x, это одно и то же?
__________________
Димс

Старый 26.04.2011, 20:43
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 4  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Можно перебрать переменные класса с помощью flash.utils.describeType(). Недавно искал способ сохранения во временный объект информации из модели. Приведу упрощенный пример:
Код AS3:
public class SomeModel
{
    // Поля, разумеется, не столь однообразны.
    public var field_1:int;
    public var field_2:String;
    public var field_3:int;
    ...
    public var field_125:Number;
    public var field_126:int;
 
    // Объект для временного хранения данных
    public var tempProperties:Object = { };
 
    public function savePropertiesInTemp():void
    {
        var description:XML = describeType(SomeModel);
        var len:int = description.factory.variable.length();
        for (var i:int = 0; i < len; i++)
        {
            if (String(description.factory.variable[i].@type) != "Object")
            {
                var property:String = String(description.factory.variable[i].@name);
                this.tempProperties[property] = this[property];
            }
        }
    }
}
На мой взгляд это проще чем писать:
Код AS3:
public function savePropertiesInTemp():void
{
    this.tempProperties.field_1 = this.field_1;
    this.tempProperties.field_2 = this.field_2;
    ...
    this.tempProperties.field_126 = this.field_126;
}

Старый 26.04.2011, 22:38
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 5  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
не одно и то же, но писать можно.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:07.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.