僕がobjective-cを初めて触った時は正直に言って面倒だと感じた。
例えば、メソッドの呼び出し方法だ。
Rubyの場合は
test = Test.new("引数")で終わりです。しかし、これをobjective-cで書くと・・・
test.doing("実行引数", "第二引数")
Test *test = [[Test alloc]initWithName: @"引数"];となる。これだけ見ても分かる通りかなり面倒くさい。
[test doing:@"実行引数" second:@"第二引数"];
[test release];
まず、この記述方法に慣れない。たとえ素晴しい言語でも、この記述量は結構なえます。XCodeがある程度は保管してくれるけれど、やはり面倒なものは面倒である。。。
メソッドの引数に名前をつけなければならないのもコードが長くなる原因である。(可読性は上がるかも知れないが、僕は少々面倒だと感じた。)
アラートの呼び出しなんて以下のようになる。
UIAlertView *alert = [[[UIAlertView alloc]これはFlickShootingの買い物画面で表示されるアラート部分のコードである。
initWithTitle:label.text
message:NSLocalizedString(@"Sure", nil)
delegate:self cancelButtonTitle:NSLocalizedString(@"CANCEL", nil)
otherButtonTitles:NSLocalizedString(@"OK", nil), nil] autorelease];
[alert show];
一つ一つの意味がメソッドを見るだけで分かるが、とても長い事が分かる。
そして、このアラートの呼び出しは非同期処理になるらしくdelegateで処理を委託しなければならない。(delegateに関してはそのうち説明するかもしれないが、ここでは割愛)
※ちょっとびっくりしたのが、クラスメソッドからも呼び出せるところだ。その場合はクラスメソッドの「alertView」にdelegateされるのだ。この感覚は僕の中ではとても新鮮だった。
あと、謎なのが定数の切り方。
constを使うべきなのかdefineを使うベキなのか・・・。このあたりはC言語に慣れている人なら直ぐに答えが出てくるとは思うのだが、、、あいにく僕はC言語はあまり業務で使った事が無く未だに困惑している。
そして、グローバル定数をどこに切るべきかと言うのにも悩んだ。(結局各「.m」ファイルに記載・・・)
まぁ、こんな感じで半分ほどしか理解してない状態で僕はアプリの開発を進めて行くのだ。
続く。
FlickShooting

※是非、動作確認の為にも買ってください♩
最近の画像つき記事
[ 画像一覧へ ]-
さて、iPhoneア…
01月30日
-
初めてのXcode
01月27日
-
初めてのiPhone…
01月25日



















