2011-12-15 9 views
0

私はiPhoneの開発とObjective Cの初心者です。Objective Cのチュートリアルを最初にやって言語の習得をすることに決めましたが、誰かが私に説明できると感謝しています。Objective Cのクラスとメソッドを理解しようとしています

私はアプリストアからXcode 4.2をダウンロードしましたので、使用しています。

最初の質問ですが、客観的なCの主なクラスは1つしかありませんか?私は現時点でNewBostonのチュートリアルを行っていますが、チュートリアルは数多くあり、Javaプログラミングに慣れています。ここではチュートリアルごとに新しいクラスを作成します。しかし、Objective Cでは、新しいプロジェクトを作成すると、main.mというファイルが生成されます。このファイルは、常に実行されるデフォルトクラスのようです。私はjavaに慣れています。あなたが1つのプロジェクトを作成するときに、そこに必要な数のクラスを持つことができ、実行したいクラスだけを選択できます。 Objective Cでこれほどのことをすることはできませんか?あるいは、私が行うチュートリアルごとに新しいプロジェクトを作成する必要がありますか?メインクラスを変更しないようにしたいので、チュートリアルを終了するときにファイルを保存して、何かを忘れてしまった場合は元に戻って確認することができます。

とObjective Cの主な方法について秒簡単な質問mainメソッドは、なぜmainメソッドは、int型の宣言です。この

int main(int argc, char *argV[]){ 

のように宣言されていますか?私はJavaに慣れていますが、メインメソッドは何も返されないので、mainメソッドは無効です。 Objective Cの主なメソッドがintであることは私には奇妙に思えます。ちょうど理解していいです。あなたが唯一のプロジェクトごとに単一のmain方法で1 main.mを持っている必要があり

答えて

2

1)Objective-Cでは、起動時に実行されるmain関数が1つあります。 iOSランタイムが初期化を行い、プロジェクト情報(スタートアップストーリーボード/ NIBなど)からその情報を取得することと組み合わせると、プロジェクトごとに1つのエントリポイントしか持てません。これは、Javaが多くの名前空間情報を保持しているにもかかわらず、あらかじめ定義されたエントリポイントがないため、Objective-Cはすべてを1つのファイルにコンパイルし、mainという1つの関数を探します。これは、あらかじめ定義されたエントリポイントが独自に設定されたjarファイルのように見えます。エントリポイントの名前は変更できません。

2)メインの戻り値の型:プログラムは、成功(戻りコード0)または失敗(ゼロより大きい戻り値、主にマニュアルページなどに記載されている)を示す戻りコードを長時間持っていました。実際にはあなたはJavaで同じものを持っています。System.exit(int exitcode)を見てください。Javaは、人の場合のように(GUIアプリケーションを書くときに)特にリターンコードは必要ありません。

+0

お返事ありがとうございます。もっと多くのプロジェクトを作ることを意味すると思います。 P – AdamM

+0

@AdamM obj-cで良いプログラムを書く方法を理解すれば、Javaでより良いプログラムを書くのに役立ちます。 – Sulthan

+0

おそらく、現時点で、私はちょうどそれを使用しようとすると少し混乱していることがわかります。構文は使い慣れているようですが、2日間しか使用していないので、私は自分の仕事の一部として使う必要があります。 – AdamM

1
  1. 任意の助けを事前に

    感謝。

  2. mainは、プログラムの呼び出し元が評価できる終了ステータスコードとしてintを返します。これは、C言語や派生した言語では非常に一般的です。返す0は「すべてがうまくいった」ことを意味します。他のステータスコードは通常、何かが間違っていたことを意味します。
1

私はTriPhoenixが書いたすべてに同意します。

私は小さな委員会を1つだけ持っています。main関数の内部

(それは機能ないクラス方法である)のiOS上のあなたはいつもあなたのアプリケーションを起動する機能UIApplicationMainを呼び出します。

iOS上のアプリケーションは決して終了しないので、UIApplicationMain関数は返されないので、main関数は返されません。 iOSでは戻り値は意味を持ちません。それは一貫性のためだけです。

関連する問題