[iP]Objective-Cの文法メモ(ActionScript3.0との差異)
基本は↓にまとまっているのでそこをみる。
イナヅマtvログ:Actionscript思考回路をObjective-C変換 – 超初級
おさらい。
まずObjective-Cは宣言部と実装部に分かれてる。
AS3でいうと、Interfaceで宣言して、Classで実装するみたいなもんかな。
というわけで、Objective-Cは宣言部と実装部を書きます。
(ほんとは宣言部と実装部でファイルをわけるのがお作法)
★クラス定義
//AS3 //クラス:MyClass、スーパークラス:MySuperClass public class MyClass extends MySuperClass implements MyInterface {}; //※継承はextendsでつなぐ //※インターフェースはimplementsでつなぐ
//Objective-C //クラス:MyClass、スーパークラス:MySuperClass //宣言部 @interface MyClass : MySuperClass<MyInterface> {}; //実装部 @implementation MyClass //※継承は:でつなぐ //※インターフェース(っぽいもの、Objective-Cではプロトコルという)は<>でくくる。
★関数定義(上記MyClassに定義しているとする)
//AS3 //関数:myFunciton、引数(2つ):myData1,myData2、引数の型:int、戻り値の型:myClass; //関数定義 public function myFunction(myData1:int,myData2:int):myClass{ return myData1 + myData2; }; //関数の実行 var myInt:int = myFunction(10,100);
//Objective-C //関数:myFunciton、引数(2つ):myData1,myData2、引数の型:int、戻り値の型:myClass //宣言部 - (myClass)myFunciton:(int)myData1 myFuncDate2:(int)myData2; //実装部 - (myClass)myFunciton:(int)myData1 myFuncDate2:(int)myData2{ return myData1 + myData2; } //関数の実行 int myInt = [myClass myFunciton:10 myFuncDate2:100]; //※myClassはMyClassのインスタンスとする
戻り値は()に入れて、関数名の前に記述。
引数は:でつないで関数名の後に記述
注意するのは、2個以降の引数にはラベル名を書く(ここでは、myFuncDate2)
こうすることで、実行部での見通しがよくなる。
(ASの場合は数字だけなので、何のためのデータだったか忘れやすい)
たぶんこんな感じ、なのかな・・・
(実際にテストしてないです・・・)
Tweet