À partir d'ActionScript à Objective-C

J'ai pensé qu'il pourrait être utile à ceux qui ont récemment approché le développement d'applications pour l'iPhone d'Apple, comparez Adobe ActionScript - le langage utilisé dans Adobe Flash et Adobe Flex, plus fréquente chez les néo-programmeurs - et Objective-C de langue utilisé par Apple pour développer ses applications. Objective-C est en effet un langage orienté objet, dans le sens pur, non pas qu'il n'est pas actionscript, mais Objective-C est certainement un plus, car il est une extension du C ANSI et sa syntaxe est un mélange entre le C / C + + et Smalltalk, est une vraie OO (Object-Oriented Language). Plusieurs caractéristiques de l'Objective-C ne sont pas présents en Actionscript que la dernière version 3.0, a été montré à croître même si elle est encore loin d'être le profil d'un bon langage de développement objet.

Classes

Par exemple, nous voyons comment ils sont structurés différemment dans les définitions de classes ActionScript et Objective-C.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/ Formule Package / - pour l'espace de nommage d'Adobe
Formule package {
/ Définition de classe / se
MyClass { public class MyClass {
/ / Définition de la propriété (publique ou privée)
myPropertyVar : String ; myPropertyVar public var: cordes ;
/ / Constructeur
MyClass ( ) { MaClasse fonction publique () {
/ / TODO
}
/ / Méthode publique
myMethod ( ) : void { myMethod fonction publique (): void {
/ / TODO
}
}
}

En Objective-C, la première différence (hérité de C) est la séparation entre les «définitions» et la mise en œuvre. En Objective-C, vous êtes toujours affaire à deux types distincts de fichiers:. H. M (en C, nous aurions H. C.). L'H. (Fichiers d'en-tête) ne contiennent que des définitions, donc pas de configuration ou de mise en œuvre.

1
2
3
4
5
6
7
8
/ / MyClass.h
NSObject { @ Interface MaClasse: NSObject {
* myPropertyVar; @ Publique NSString * myPropertyVar;
}

void ) myMethod; - (Void) myMethod;

@ Fin

. Dans le fichier de M, nous avons à la place:

1
2
3
4
5
6
7
/ / MyClass.m
@ Mise en oeuvre maClasse

void ) myMethod { - (Void) {myMethod
/ / TODO
}
@ Fin

Objective-C gère les propriétés et les méthodes d'une manière très différente à partir d'ActionScript. Par exemple, la méthode myMethod vu précédemment est appelé (ou invoquées) de cette manière:

1
; [Self myMethod];

Il parle, en fait, envoi de message, plutôt que d'appeler une méthode!

Remarque: cette fonction est bien réel. Lorsque vous appelez une méthode en Objective-C est appelée une adresse physique ou d'un pointeur de fonction. En Objective-C fait l'objet envoie un message réel où ils sont invités à effectuer une particulière "méthode"

La syntaxe avec des crochets, sans doute le plus difficile à digérer, même pour les développeurs C ANSI, seront plus claires et plus simples si nous considérons que:

1
2
3
4
5
6
7
myClass.myMethod ();
/ / Est égale à
; [MaClasse myMethod];
/ / Ou
; myClass.myPropertyVar = 1978;
/ / Égal à
1978 ] ; [MaClasse setMyPropertyVar: 1978];

En ce qui concerne la création d'objets, puis de créer une instance d'une classe, nous avons:

1
MyClass = new MyClass ( ) ; var istanceMyClass: MaClasse = new MaClasse ();
1
2
3
4
5
6
[ [ MyClass alloc ] init ] ; MaClasse * istanceMyClass = [[MaClasse alloc] init];
/ / Ou tout simplement
[ MyClass alloc ] ; MaClasse * istanceMyClass = [MaClasse alloc];
/ / Objective-C n'a pas vraiment de soutien d'un fabricant, comme
/ / Happens en Actionscript: initWithName voir, par exemple,
/ / Init initWithFrame ou simplement

Ceci est juste une aide simple, laissant inexplorés de nombreuses autres fonctionnalités en Objective-C, il ya des concepts tels que les pointeurs (semblables à des références en Actionscript - mais pas identiques), les protocoles, les catégories et bien plus encore. Si vous êtes juste traitant Objective-C découragé, comme je le suggérais précédemment, par l'ANSI C jeux , jamais l'esprit - pour l'instant - Actionscript, Javascript ou PHP! Ce dernier, connaissant le C ANSI, les redécouvrir sous un jour très différent.

One Response to "à partir d'ActionScript à Objective-C"

  1. 18 juin 2009 Undolog.com «trace Actionscript, Objective-C NSLog () :

    [...] Message d'ActionScript à Objective-C (où l'on compare le code et la syntaxe d'ActionScript et Objective-C) en Actionscript [...]

Laisser un commentaire

XHTML TAG PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CODE D'INSERTION:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL