iPhoneアプリのブログ記事
コード部分に以下を記述すると、それがファンクションメニューに反映されます。
- #pragma mark
- #pragma mark -
- MARK:
- TODO:
- FIXME:
- !!!:
- ???:
#pragma mark
-(void)function1{}
#pragma mark second function
-(void)function2{}
#pragma mark -
-(void)function1{}
#pragma mark - second function
-(void)function2{}
MARK:
-(void)function1{}
// MARK: second function
-(void)function2{}
なにか書き方がおかしいのかな?
それともXcodeの仕様が変わった?
TODO:
-(void)function1{}
// TODO: change name later
-(void)function2{}
FIXME:
-(void)function1{}
// FIXME: change name later
-(void)function2{}
!!!:
-(void)function1{}
// !!!: very important function!
-(void)function2{}
???:
-(void)function1{}
// ???: necessary?
-(void)function2{}
本記事はその一例となりますことはご了承くださいませ。
下準備
DevicesはiPhoneで。他のデバイスでも手順は変わりません。
これもXcode4.2から追加されました。
たとえば、アプリが起動したときとか、バックグラウンドに移行したときとか。
今回は変更しません。
これが今回の肝であるStoryBoard。
(正確には画面に表示されるものはViewで、ViewControllerはそれの管理)
外向きが.h、内向きが.m、みたいな言い方もできるのですが、このあたりの細かい説明は省きます。
位置はご自由にどうぞ。
一つ目の画面から二つ目の画面へ遷移
(元画面の上に新画面を表示する方式)
他の名称にするときは、以降のコードでもそれに合わせてください。
iPhoneアプリ開発では画面遷移をSegueと呼びます。
このNameは、ボタンをタップした際に呼び出されるメソッド名となります。
他の名称でも構いません。
ボタンを押すとこのメソッドが呼び出されます。
つまり、このmの側でメソッドになにをさせるかを書くことになります。
追加したコードは下記。
画面遷移が複数あるときも、Identifierで分岐可能です。
二つ目の画面を閉じる
Subclass ofはUIViewControllerにしてください。こちらは自由ではありません。
継承というのはクラスの内容を受け継ぐことです。
こちらはボタンを「閉じる」としました。
一つ目の画面と同じ手順です。
これも一つ目の画面のときと同じ。
一つ目の画面から二つ目の画面へ値を渡す
↓のように。
NSString* _myValue;
}
@property (nonatomic) NSString* myValue;
二つ目はmyValueという名の文字列のプロパティを宣言しています。
なんで_がついてるの?
と思うかもしれません。
どうせわざわざ結びつけるなら、なんで別の名前にするの?
最初から同じにしておけばいいんじゃない?
一つの文法マナーです。守らなくてもプログラムは動きます。
詳しくは検索してみてください。ちなみに、つけるべきではないって人もけっこういます。
この一文によって、myValueと_myValueが結びつけられます。myValueが変わると、_myValueも変わります。
ViewController.hに書いた内容はViewController.mでもアクセスできます(mがhをimportしているため)。
↓のコードをまるまるコピーアンドペーストしてください。
if ([segue.identifier isEqualToString:@"mySegue"]) {
SecondViewController *viewCon = segue.destinationViewController;
viewCon.myValue = @"test";
}
}
画面遷移が複数のときは、こう書くことで遷移先によって前処理を分岐できます。
testという文字列にしたことに意味はありません。
二つ目の画面から一つ目の画面へ値を渡す
デリゲートを使うことによってインスタンスAで起きたことをインスタンスBで処理させるといったことができるようになります。
追加されたのは三箇所。
- (void)finishView:(NSString*)returnValue;
@end
今回の場合は一画面目であるViewControllerです。
delegateと_delegateを結びつけています。
[_delegate finishView:@"finish"];
}
finishという文字列そのものに意味はありません。適当です。
NSLog(@"%@" , returnValue);
}
returnValueの中に、SecondViewControllerから渡される値(今回はfinish)が入っています。
終わり
はい、タイトルの通りです。
久々にアプリを開発してみました。
iPhone/iPad両方に対応したアプリです。
iPad対応アプリは初めてです。
ダウンロードはこちらをクリック(iTunesStoreへのリンクです)。
出来事と日付を登録すると、それからどれだけの時間が経ったか、あるいはそれまで後どれぐらいの時間があるかを一覧表で表示します。
最初は配布するつもりではなく、開発の勘を取り戻すためにと自分用で作っていたのですが、せっかく作ったのだから配布しようかなと。
めちゃくちゃシンプルでこれといったデザインもしていないため、Appleの審査で機能不足でリジェクトされそうだと不安だったので、無事にこうしてリリースされてほっとしています。
とりあえず言えるのは、私にとっては超必須アプリ!
ダウンロードしてみていただけると嬉しいです。
よろしくお願いいたします。
私の所属していますpavocadoによる新作iPhoneアプリがリリースされました!
第一弾であるTapPic、第二弾であるTapMake9に続きまして、二つ同時のリリースです。
今回リリースしたのは無料アプリであるPavopedia、そして有料アプリであるPavopedia+になります。
ゲーム自体はシンプルなパズルゲームなのですが、イチハラマリコさんと撫子凛さんによるイラストが素晴らしい! そして、壁紙のダウンロードもあり!
超お勧めでございます。
(無料版と有料版の主な違いはゲームのモード数、それにイラスト数となっております)
pavocadoは3月末に行動を開始して、それから4ヵ月弱……。
結果にまだまだ満足はしていないけれど、目標までの道のりはまだまだ長いけれど、着実に進んでいるのは素敵なこと!!
今後ともどうぞよろしくお願いいたします。
5月10日(日本時間5月11日)にリリースされましたiPhoneアプリ第一弾TapPic、おかげさまで多くの方にダウンロードいただき、一時期はゲーム>教育>無料アプリの4位まで順位到達いたしました。
(iPhone市場への初参入で、どれだけの方に遊んでもらえるのか期待と不安が入り交じっていました)。
この場を借りまして心より感謝申し上げます。
iPhoneアプリは今後もpavocadoの一員として精力的に開発を続けていく予定です。
今後ともどうぞよろしくお願いいたします。
3月末に企画を開始しましたiPhoneアプリ開発、第一弾TapPicがついにリリースされました。
無料アプリですので、よければぜひ遊んでくださいませ(オンラインランキングもあります)。
配布は青春B名義でも多口カタン名義でもないです。
pavocadoというグループでの活動となっています。
青春Bはクリエイターの応援だったりとか情報提供だったリが主なのですが、pavocadoの方では自分のクリエイターとしての活動を前面に出していこうと思っています。
青春Bを始めて約4年、その間に積み上げてきたもの、その前から積み上げられてきているものを全力でぶつけた活動をしたいなと。
まあ、根っこにあるものは青春Bと同じなんですが。
この辺りの思いについてはもう少し活動が軌道に乗った段階でじっくり話させてもらえればと考えています。
今後ともどうぞよろしくお願いいたします。
4月の終わり、ということで5月以降の展望をほんの少し。
3月末より、iPhoneアプリの開発を始めました。
青春Bとしての活動ではなく多口カタンの活動ですが、方向性的には青春Bでやってきたことの延長線上だと思っています。
iPhoneアプリ開発だけにとどまるかはわかりませんが、とにかくこれまでとは違ったアプローチでの活動を具体的に進めていこうという考えています。
青春Bを始めてからもうすぐ4年になるのですが、その間に培ってきたことを活かして、もっと積極的な活動を行っていきたいなというところです。
もちろん、青春Bでの活動をやめるとかそういう話ではありません。
青春Bは青春Bとして活動を続けていきます。
iPhoneアプリ第一弾についてはうまくいけば5月の早い段階でリリースできる予定です。
その際にはこの場でも告知させていただきます。
青春B同様に
素敵なゴールデンウィークをお過ごし下さい。