dポイントプレゼントキャンペーン実施中!

(1)NSIntegerとintの違い

intでもNSIntegerどちらも使ってプログラムが動くのですが、
実際どのように違うのでしょうか?


(2)インスタンス変数 ローカル変数

私の勝手な解釈ですが、
インタンス変数は、1つのクラス内のどのメソッドでも共通で使える変数、
ローカル変数は、宣言したメソッド内でしか使えない変数、
という事でよろしいのでしょうか?

検索しましたが、あいまいな為、質問させていただきました。
初級的な質問で申し訳ないのですが、どうかよろしくお願いいたします。

A 回答 (1件)

> (1)NSIntegerとintの違い



Xcodeヘルプで検索して、NSIntegerのリファレンスを読んでください。

NSInteger
http://developer.apple.com/library/ios/documenta …

64ビットアプリにおいて、確実に64ビット幅の整数値を必要とするときに、NSIntegerを使えばいいのであって、それ以外にNSIntegerとintを明確に区別する必要はないと考えていいでしょう。

> (2)インスタンス変数 ローカル変数

パターン認識において、まったく異なるパターン分けなので、比較自体に意味がありません。たとえていうなら、「四輪駆動車と救急車の違いはなんですか?」という質問と同類といえるでしょう。

「インスタンス変数」は、インスタンスの属性(性格)を決定する変数のことを指します。UIViewのインスタンスなら、フレームサイズを決定するCGRect型の変数frame、中心位置を決定するCGPoint型の変数center、透明度を決定するCGFloat型の変数alphaがインスタンス変数になります。
「ローカル変数」は、C言語における変数の分類分けに基づくものです。Objective-C特有の概念としては、定義されていません。

インスタンス変数は、C言語のグローバル変数的に使えますが、インスタンスの属性の決定に関係しないグローバル変数なら、べつに決められた場所に書く必要はありません。ヘッダファイルではなく、実装ファイルに書いてもいいでしょうし、ヘッダファイルの「@interface」指示子の前に書いてもかまわないでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました!
おかげさまでモヤモヤがぶっとびました!

お礼日時:2011/09/23 11:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!