なんか上から目線な感じになっててすみません...

今回はアプリ開発ネタです。

世の中便利になりまして、気づけばネットで色々調べれるようになりまして、
開発においても基本的なことであれば、検索すれば解決することもできます。

ただ、全くはじめての段階ですと、どのようなキーワードで検索すればいいのかさえ
わからなかったりします。

そこで、これからアプリ開発を始めてみようとしている方におすすめしたいキーワードを
ピックアップしてみました。

参考になれば幸いでございます。

1.UIAlertView

$大阪で働く社長のブログ-UIAlertView

これちょいちょい使うやつです。ぽこんとでてくるやつですね。
ユーザーにメッセージや警告など何らかのメッセージを表示させたい場合に使います。


2.UIActionSheet

$大阪で働く社長のブログ-UIActionSheet


これまたよく使うやつです。
ユーザーに対して選択肢を提供したい場合など使ったりします。

3. presentViewController / dismissViewControllerAnimated

※iOS6からpresentModalViewControllerは非推奨に

今は1アプリ1画面のアプリはほとんど存在しないかなと思ったりするのですが
どれだけシンプルなアプリでもだいたい複数画面存在します。
その際に画面の切り替えが必要になってりするのですが、そのときに使うメソッド名です。
presentViewControllerが呼出し、dismissViewControllerAnimatedが戻る場合

下から上にぐいんと画面が表示されるような見せ方はこれを使ってます。
ただ、下から上にぐいっと画面が表示されるパターンは、切り替え方の一つに過ぎず、
他にも、くるっと回るような画面切り替え方などもコレを使って出来ます。
※ 遷移後のviewcontrollerのmodalTransitionStyleにUIModalTransitionStyleFlipHorizontalをセット

4.pushViewController / popViewController


3のpresentViewControllerと同様画面遷移に使うものです。
ただ、今回のメソッドは、UINavigationControllerを利用している場合に利用します。
標準の設定画面にあるような、項目を選択し横に流れるような画面遷移などは
コレを使ってます。
※UINavigationControllerについては、標準の設定画面をイメージして頂ければと思います
pushが画面遷移、popが戻る

5.UIImagePickerController


カメラ、アルバムの画像を使いたい場合はコレを使います。
AVCaptureSessionなどでもできますが、まずはこちらからで良いかなと思います。

6. UIActivityIndicatorView


くるくるです。読み込み中や処理中などをユーザーに伝えるためのものです。
アクティビティインディケータ。はじめはわからんかったです名前

7. NSTimer


一定間隔毎に繰り返し処理をしたい場合などに使います。


8. NSUserDefaults


ちょっとしたデータや設定情報などを保存したい場合などに使います。

9. UIScrollView


画面内におさまりきらない場合の情報や、
例えば画像の拡大・縮小(ピンチイン、ピンチアウト)を使いたい場合に使います。
※画像(UIImageView)は、そのままではピンチイン/ピンチアウトされません。

10. UIGestureRecognizer

touchesBaganと迷いましたがこちらで。
UITapGestureRecognizerやUILongPressGestureRecognizerなどあるのですが
タップの検出や長押しの検出ができたりするものです。
そのほかはピンチイン/アウトを検出するものなどありまして、
ユーザーの指操作に対して何かしたい場合はこれらを使ったりします。

とまぁひとまず10個あげてみました。
使い方に関してはそれぞれのキーワードで調べてもらうと出てくると思います。
※丸投げみたいですみません..

ただ、開発は単純にコピー&ペーストで済んだりするわけでもないので
うまくいかないこともあるかもしれませんが、そのあたりは試行錯誤しつつ
進めて行くのがこれまた一興という所で。


番外編 その1


アプリ開発をしているとiOSのアップデートがけっこう気になったりします。
というのも、新しいAPIが提供され我々にとって便利な機能を
アプリに埋め込みやすくなったりするからです。
例えば、iOS5でしたら、顔検出の機能が利用できるようなったり。

今回は、iOS6から追加された機能のいくつかを紹介させて頂ければと思います。

1.UIActivityViewController

$大阪で働く社長のブログ-UIActivityViewController

アクションシートのアイコン版みたいな感じですが、
ソーシャル連携の機能を一つにまとめてくれています。


2.Social Framework

Twitter,Facebook.weiboなどの連携を実現してくれます。

元々weiboについては連携を行うことは難しいので(登録手続きなどを考えると)
けっこうありがたいかもしれません。

ただ、weiboのアカウント画面は、日本語環境では設定画面に表示されず
言語を中国系にしないと表示されないようです。


番外編 その2


開発をしているとアプリがなかなか思い通りに動いてくれなかったり、強制終了してしまったりなど、そういうときのためのキーワードを。

1.NSLog


コレを使うと、Activate Consoleにその内容が出力されます。


2.EXC_BAD_ACCESS


これが出たら、テンションが下がります。
アプリが落ちる時に出てきたりします。場合によっては何が原因で
どこで強制終了してしまったのかわからなかったりします。

そんなときは、"Enable Zombie Objects"にチェックを入れてみてください。
落ちた箇所くらいはわかるかもしれません。(それでもよくわからない時もありますが。。)
※Xcodeメニュー 「Product」→「Edit Scheme.」→「Run」
のDianostics タブにあります。



番外編、以上です。

ちょっと思いつくままに書きましたし、実装については細かく触れておらず
恐縮ですが、そのあたりはこちらの開発ブログなどに
情報を開示して行ければなぁと思っています。

まぁそのほか基本を考えますと
IBOutlet/IBActionや、delegate、propertyなど、色々まだまだあるわけなんですけども、
ちょっと今回書きたかった部類では無いかなと思いまして、割愛しました。