自作クラスで作るグローバル変数 その2 プロパティ編 objectiveC
プロパティを使ったグローバル変数の作り方の解説です。
前回のバージョンはメソッドでデータをおくってました。
毎回 メソッド作るのめんどくさい場合 プロパティ というものを
使えばシンプルになります。
[書式]
mmm.num
外部データを上記のように ドット構文で呼び出せる
データを受信
ans=mmm.num
| プロパティ作る |
各ファイルを開いて 下記のようにして下さい。
hファイル
#import
@property (assign,nonatomic) int num;//これを追加 @end |
mファイル
#import "alldata.h" @implementation alldata @synthesize num;//これを追加 プロパティ設定するのにいります
- (void)dealloc { |
これでプロパティの設定完了です。
| 外部から 呼び出し方法 |
数字を読み込みたいmファイルをひらく
ヘッダーに
#import "alldata.h" |
を入れる
呼び出し方法
|
例 |
ドット構文で呼び出せる
以上がプロパティについて 自分的にまとめたデータです。
間違ってたらすみません。
| 補足 |
プロパティの宣言書式メモ
@property (assign,nonatomic) int num;
assign,nonatomic の文章について
iPhoneアプリケーションの場合、
普通の変数 nonatomicとassign
ビューやラベル、配列、ディクショナリー nonatomicとretain
文字列やデータなどには nonatomicとcopy
を設定する
| 追加説明 |
サンプルコードをみているとたまに
@synthesize num=num2;
とか書いているサンプルがあります。
通常
プロパティへ数値を代入するとき
self.num=1000;
と かきますが上記のように書くと
num2=1000;
でプロパティに数値を代入する事ができます。
作り方
hファイル
#import
int num2;//プロパティと同じ型で宣言 } @property (assign,nonatomic) int num; @end |
mファイル
#import "alldata.h" @implementation alldata @synthesize num=num2;
num2=1000; - (void)dealloc { |
このように
self.numと書くところを、num2として省略できます。
なお省略は自分のクラスでしか使えないようです。
[参考]
objectiveC プロパティについて
http://konton.ninpou.jp/program/cocoa/property.html
アドビの解説?
http://ylb.jp/iOSDev/SingletonSample.pdf#search='objectiveC%20プロパティ%20作る'
サルにでもできるiphoneアプリの作り方
http://ameblo.jp/micro-garden/entry-10338112606.html