• Actionscript 3 versus Objective-C: vediamo le principali differenze a livello di sintassi del codice

    Date: 2012.01.23 | Category: Flash, Objective C | Tags:

    Richiamare un metodo in AS3 / inviare un messaggio ad un oggetto in Objective C

    mySound.setVolume();
    [mySound setVolume];

    Memorizzare un valore ritornato da un metodo in AS3 / Objective C

    volume = mySound.getVolume();
    volume = [mySound getVolume];

    Passaggio di un parametro ad un metodo in AS3 / Objective C

    mySound.setVolume(value);
    [mySound setVolume:value];

    Passaggio di più parametri ad un metodo in AS3 / Objective C

    mySound.setLeftAndRightPan(left, right);
    [mySound setLeftAndRightPan:left, rightValue:right]

    Definizione di un metodo in AS3 / Objective C

    private function setLeftAndRightPan(left:Number=0, right:Number=0):void
    - (void)setLeftAndRightPan:(NSNumber*)left, right:(NSNumber*)rightValue

    Variabili in AS3 / Objective C

    private var name:String = "";
    private var name:String = new String();
    NSString* name = [NSString string];

    Inizializzare una stringa in AS3 / Objective C

    var someString:String = "foo";
    NSString * someString = @"foo";

    Concatenare due stringhe in AS3 / Objective C

    var firstString:String = "foo";
    var secondString:String = "bar";
    firstString = firstString + secondString;
    NSString *firstString = @"foo";
    NSString *secondString = @"bar";
    firstString = [firstString stringByAppendingString:secondString];

    Variabile intera in AS3 / Objective C

    var counter:int;
    NSInteger counter;

    Object Variable in AS3 / Objective C

    var vo:DataVO;
    DataVO *vo;

    Gestione delle memoria per classi complesse in AS3 / Objective c

    public function destroy():void
    {
        if(timer)
        {
            timer.removeEventListener(TimerEvent.TIMER, onTick);
            timer.stop();
            timer = null;
        }
     
        if(icon)
            icon.bitmapData.dispose();
    }
    -(void)dealloc
    {
       [timer release]
       [icon release]
       [super dealloc]
    }

    Lavorare con i MovieClip

    //Actionscript 3
    for( var i : int = 0 ; i < 10 ; i ++ ){
         var rect : Rectangle = new Rectangle(); //Custom object
         rect.x = 50*Math.floor(i%4);
         rect.y = 90*Math.floor(i/4);
         addChild(rect);
    }
    trace(numChildren); //result: 10
    for(int i = 0; i < 10 ; i++){
         Rectangle *rect = [[Rectangle alloc] initWithFrame:CGRectMake(0,0,40,80)]; //Custom Object
         rect.transform = CGAffineTransformMakeTranslation(50*floor(i%4), 90*floor(i/4));
         [window addSubview:rect]; //See that your window variable is accessible
         [rect release];
    }
    NSLog(@"%i",[[window subviews] count]); //result: 10

    Array in AS3 / Objective C

    var arr:Array = [10, 20, 30, 40, 50];
    var num:int = arr[2];
    NSArray *arr = [NSArray arrayWithObjects:10, 20, 30, 40, 50, nil];
    NSInteger num = [arr objectAtIndex:2];

    Loop su Array in AS3 / Objective C

    for each(var obj:* in arr) {
        // do something with obj
    }
    for(NSObject *obj in arr) {
        // do something with obj
    }

    Array Mutable in Objective C

    NSMutableArray *marr = [[NSMutableArray alloc] init];
    [marr addObject:10];
    [marr addObject:20];
    [marr addObject:30];
    NSArray *arr = [NSArray arrayWithArray:marr];

    Array Associativi in Objective C

    NSMutableDictionary *mdictionary = [[NSMutableDictionary alloc] init];
    [dictionary setObject:0 forKey:@"Number of effs I give on this example"];
    NSDictionary *dictionary = [NSDictionary dictionaryWithDictionary:mdictionary];

    Casting in AS3 / Objective C

    var someObject:Object = {};
    var castedAsString:String = String(someObject);
    NSObject *someObject = //pretend I know how to say new();
    NSString *castedAsString = (NSString *)someObject;

    Primitive in AS3/Objective C

    AS3     Objective-C
    true        YES
    false       NO
    null        nil
    this        self