と宣言しないのはなぜですか?私はiTunes UのスタンフォードからのiPhoneコースで私の手を試しています。私はポインタについて少し混乱しています。最初の割り当てでは、私はエラーを生成し、このNSIntegerを*
NSString *processName = [[NSProcessInfo processInfo] processName];
NSInteger *processID = [[NSProcessInfo processInfo] processIdentifier];
のようなものをやってみました、盲目的周りtinkeingた後、私はそれが問題を引き起こしていたNSIntegerラインで*であることを発見しました。
私は明らかに何が起こっているのか分かりません。私はそれがうまくいくと思うし、おそらく誰かがこの欠陥を指摘するのに十分なほど親切になるだろうと説明します。
ウェブ開発とは異なり、私は今、ウェブ開発よりもメモリについて心配するには が必要です。したがって、私が 変数を作成すると、 ビットのメモリが割り当てられます(RAM I と仮定します)。 変数を渡す代わりに、私は そのメモリの周りのポインタを渡します。 ポインターは、 の変数名の先頭に*を付けて宣言します。
私が正しいと仮定すると、なぜ私はNSIntegerのためにそれを行う必要がないのですか?
私はそれが非常に便利なヒントになると思う。ありがとう。 – gargantuan
webdevからiPhone開発に移行したとき、それは私にとって大きな問題でした。他の1つは、NSArrayをnilで終了させることです。 –
NSIntegerやXcodeで混乱している他のタイプをAppleダブルクリックすると、その定義に移ることができます。この場合、次のようになります。 typedef int NSInteger; 結局のところ、これは普通の古いintです。 –