2012-01-13 13 views
0

Xcode 4.2のObjective Cに関する質問があります。目的Cメソッド方法

クラスメンバーメソッドを正しく呼び出すにはどうすればよいですか。たとえば、メソッドドローを使用してMyClassというクラスがあるとします。現時点で私はこれを試しています。

MyClass *myclass; 

myclass = [MyClass alloc]; 

[myclass draw]; 

描画メソッドのブレークポイントに決して達しないため、クラスインスタンスを正しく作成できません。

Xcode 4.2プロジェクトでmain functionの呼び出しが発生する場所についても興味があります。セットアップと呼ばれる関数を使ってゲームを作りたければ、どこでセットアップを呼び出すのですか?私は、あなたが常にオブジェクトを初期化しなければならないのObjective CでのXcodeとObjective Cの

+1

main関数がmain.mにあります –

+0

@VinceBurn trueしかし、これはDaveが実際に知りたいと思うものではないと思います。彼はゲームを作ろうとしています。彼は実際には、アプリケーションデリゲートに 'applicationDidFinishLaunching'が必要です。 –

+0

はい私が探していたTim =) – Dave

答えて

3

あなたがオブジェクトを初期化するinitメッセージ送信する必要があります:

MyClass *myclass = [[MyClass alloc] init]; 
[myclass draw]; 

Aめったに使われないオプションがallocinitの組み合わせですnew方法で、次のとおりです。

MyClass *myclass = [MyClass new]; 
[myclass draw]; 

に後者をされますObjective-C++を使用すると混乱する可能性があるため、短くても構わないものです。 NSObject class referenceも参照してください。セットアップ方法については


、あなたのアプリケーションデリゲート(またはデーモンまたはコマンドラインアプリケーションでmain関数内)のapplicationDidFinishLaunching:方法で物事を設定することができます。 Xcodeのテンプレートは、main.mというファイルにmainという機能を持っています。

+0

ありがとう – Dave

2

で理解しようとしているよう

すべてのヘルプ

は大歓迎します。したがって、中央の線は( myclassの潜在的なメモリリークのために期待する)それ以外の場合は、コードスニペットが微細である

myclass = [[MyClass alloc] init]; 

を読んでください。

さらに、クラスメソッド(MyClassで呼び出されます)とインスタンスメソッド(myclassで呼び出されます)との間には違いがあります。これの多くの例については、ドキュメントを参照できます。