Вставка содержимого из помещенного объекта Stack в текстовое поле - PullRequest
0 голосов
/ 03 марта 2011

Я хочу взять объект, который содержит контекст String и Integer, который выдвинул стек и вытолкнул это конкретное содержимое на экран, который может видеть пользователь.Дисплей состоит из двух текстовых полей и метки.

Я не могу понять, как получить доступ к отдельным частям Объекта, чтобы отобразить их, хотя ..

Вот мой класс Stack.as:

Stack.as

package
{

// credit for this class: *@author Michael Avila

import Node;

public class Stack
{
    private var first:Node;

        public function isEmpty()
        {
            return first == null;
        }

        public function push(data:Object)
        {
            var oldFirst : Node = first;
            first = new Node ();
            first.data = data;
            trace(first.data.toString());
            first.next = oldFirst;
        }

        public function pop():Object 
        {
            if (isEmpty())
            {
                trace ("Error: \n\t Objects of type Stack must contain data before you attempt to pop");
                return true;
            }
            var data = first.data;
            return Object;
    }
  }
}

И вот как я это показываю:

...

private function nextMoveLPart(event:EffectEvent):void  // open up connection get 
        {
            if(shuffle == 0)
            {
            var r:Object = s.pop();
            trace(r);
            stext1.text = r.cSide1;
            trace(r.cSide1);
            stext2.text = r.cSide2;
            cardNumberLabel.text = r.id;

...

Вот как я помещаю это в стек:

if(i<=numResults-1)
            {

                var row:Object = result.data[i];
                s.push(row);
                stext1.text = row.cSide1;
                stext2.text = row.cSide2;
                cardNumberLabel.text = row.id;
            }

Любая помощь или совет будут потрясающими и высоко ценится.Спасибо!

ПЕРЕСМОТР

Нажать:

public var stackArray:Array = new Array();

...

if(i<=numResults-1)
            {

                var row:Object = result.data[i];
                stackArray.push(row);
                stext1.text = row.cSide1;
                stext2.text = row.cSide2;
                cardNumberLabel.text = row.id;
            }

To Pop:

if(shuffle == 0)
            {

                var r:Object = stackArray.pop();
                if(r != null)
                {
                stext1.text = r.cSide1;
                stext2.text = r.cSide2;
                cardNumberLabel.text = r.id;
                }

1 Ответ

1 голос
/ 03 марта 2011

Похоже, эта часть неверна

public function pop():Object 
        {
            if (isEmpty())
            {
                trace ("Error: \n\t Objects of type Stack must contain data before you attempt to pop");
                return true;
            }
            var data = first.data;
            return Object; <<<<<<<<<<<<<<<why just return Object, why not return first.data and remove first.data from the list.
    }

Выглядит как реализация связанного списка, если можно использовать массив, он, вероятно, спасет некоторые головные боли при использовании массива и использовании push и shift, как если бы вы хотели традиционное поведение стека. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html

Надеюсь, это поможет,

Shaun

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...