自作クラスで作るグローバル変数 その1メソッド編 objectiveC
自作クラスで作るグローバル変数 メソッドでの作り方考察してみました。
ゲーム作っていると と どこのシーンからも 同じ変数を読み込ませたい
とかあります。
ふつうのプログラムだと
テキストデータ や CSV を 各シーンで読み込んで使う
という感じで作りますが・・・・
自分が探した範囲で objectiveC
でこういったものを利用するコマンドとがありませんでした。
そこで テキストデータのかわりに
自作クラスから変数を読ませる
方法を解説したいと思います。
クラスを使えば 他のプログラムと同じように
どこのシーンからも 同じ変数を読み込みこませることができます。
自作クラスファイル を データファイルとして使う |
クラスを作る |
classフォルダを右クリックして 追加で新規ファイル
subclass ofの項目 はデータを扱うのでNSObject を選択して下さい
※
名前自由ですが 今回 ファイル名alldataとして作ったとして説明します。
alldata.h
alldata.m
ができたと思います。
メソッドを作る |
普通のプログラムだと変数書いて終わりなのですが、objectiveCでは 変数を書いただけでは
変数を読み込んでくれません。データの送受信はメソッドを使って行います
今回の例
njikanmというメソッドを実行すると数字200を返すというものです
mファイルを下記のようにして下さい
@implementation alldata int njikan=200; -(int)njikanm{
|
これで準備完了です。
※メソッドについてはこちらのサイトが勉強になります
http://www.atmarkit.co.jp/fcoding/articles/objc/03/objc03b.html
データを読み込む |
目的
外部から 200 という数値を読み込みたい
手法
データを読み込むには クラスを読み込むだけで数値を読み込まない。
メソッドを呼び出して数字を送ってもらう処理を書かないといけない。
実際どうやるのか解説
外部データを読み込みたい mファイルをひらいて
mファイルのヘッダーに
#import "alldata.h" |
をいれてください
これで読み込み準備は完了です。
メソッドを呼び出すコマンドはこうです
alldata *mmm;//オブジェクト作る mmm=[[[alldata alloc]init]autorelease];//初期化 int ans=[mmm njikanm];//メソッドを呼び出し変数に入れる |
これで変数ansに200が入ります。
メソッドについて解説 |
解説 |
まずメソッドの実行はこう書きます。
[(オブジェクト) (メソッド)]
変数に代入したい場合は
変数=[(オブジェクト) (メソッド)]
とかきます
メソッドを使うには オブジェクト というものの 記入項目 があるので
オブジェクトをつくらないといけないです。
オブジェクトの作り方 |
[定義]
クラス名 *オブジェクト名
例
alldata *mmm;//オブジェクト作る
で作れます。作っただけでは使えないので初期化します
[初期化コマンド]
[[[クラス名 alloc]init]autorelease]
例
mmm=[[[alldata alloc]init]autorelease];//初期化
クラスを使った 外部変数の読み込みはこんな感じで、できます。
ややこしいので、解説をなるべくシンプルに書いたつもりですが
わけわかんなかったら、すみません。自分もよくわかっていません。
次はプロパティを使ったグローバル変数の書き方を解説したいと思います。
-----------------------------------------------------------
参考サイト
http://d.hatena.ne.jp/ken4500/20100604/1275659934
http://ylb.jp/iOSDev/SingletonSample.pdf#search='objectiveC%20プロパティ%20作る'