Xcode 5 の基本をテーマに横浜へなちょこ iOS 勉強会 #31 と #32 で発表しました。 #yhios

SPECIAL


横浜へなちょこ iOS 勉強会

2014/03/15 に開催された「横浜へなちょこ iOS 勉強会 #31」と 2014/05/17 に開催された「横浜へなちょこ iOS 勉強会 #32」に参加してきました。

これらの勉強会はharanicle(@haranicle)さんが主催されている勉強会で、#31 を見つけて「なんとなく、面白そうだな」と思ったのがきっかけで、お邪魔させて頂きました。

これまで、東京や横浜を中心にした iOS 勉強会にいくつか参加させて頂いてきたのですけど、こちらの勉強会に参加させて頂いた印象は「とても学習熱心」でした。発表に静かに耳を傾けて、発表が終わると積極的な意見が飛び交うような。それがまた和やかな感じで、勉強会のひとつの理想的な形なのかもしれません。

 

それがなんだか心地が良くて、続く #32 もお邪魔させて頂きました。

少なくとも自分が参加した 2 回とも、発表内容は iOS アプリ制作の基礎に近いお話でしたし、余った時間で自習もできたりするので、アプリ制作を始めて間もない人にもお勧めの勉強会かもしれません。程よい規模の勉強会なので、アプリ制作を始めて間もない人でも「学んだこと、分からなかったこと」を 15 分とかでも時間をもらって発表してみると、勉強にもなるし、盛り上がって楽しくなるかもしれませんね。

まだ 2 回しかお邪魔させて頂いてないので、あまり勝手なことを言うのもアレですけど、きっと歓迎してくださると思います。そんな印象の勉強会でした。

 

自分の発表テーマは Xcode の再入門

さて、この勉強会の最初の #31 の頃、自分は「Xcode 5 徹底解説 for iOS/OS X」という本を書いていました。

Xcode 5 に搭載されている機能を隅々まで徹底的に紹介するのがテーマの入門書だったのですけど、この機会に Xcode を隅々まで見渡していたら、それまで思ってきた以上に Xcode の素晴らしさに関心してしまって、そんな Xcode の良さをいろんな人に届けたいなと思って、面白そうな勉強会ないかな、って関心を持って探していたのも、横浜へなちょこ勉強会と出会うきっかけでした。

発表もそんな中から、Xcode の基礎をテーマにしてお話させて頂きました。

in 横浜へなちょこ iOS 勉強会 #31

横浜へなちょこ iOS 勉強会 #31 では、Xcode でアプリ制作をする人ならだれもが目にする「グループ」と「フォルダー参照」のお話です。

この 2 つは、どちらもファイルを管理するフォルダーの役割を持っていて、まさに初心者のときから目にするものですよね。

それでいながら意外と違いが分かっていなくて、何気なくグループを使っていたという人も多いと思います。そして、ふとしたときにフォルダー参照の存在が気になって、あれこれ試して苦心するみたいな、自分にとってはそんな存在の機能でした。

 

この機能については Xcode 5 徹底解説 でも紹介しています。

余談なのですけど、この「フォルダー参照」のお話、実は書籍を書いている中で原稿の量が予定をオーバーしてしまって、どれを削ろうかという話の中で「これを削ったらどうか」という話になった話題でもありました。理由は「ほとんど使わないから」だったのですが、それに対し「これひとつ削っただけで全機能の紹介とは言えない」、「初心者の目に絶対最初に目に留まるので必須」と頑なに拒んで載せてもらったという、自分の中では大事なテーマのひとつだったりします。

編集担当の方も、別に要らないと思ってそう言っていた訳でもなくて、紙面との都合です。最終的には、社内会議にかけて書籍の企画ページ数を倍に引き上げるという働きかけまでしてくださって、無事にこの話題を扱うことができました。そんなことがなければ、そもそも自分が納得できる内容には願っても叶わなかったでしょうから、編集担当さまの熱意は偉大です。

 

さて、そんな話題の発表内容ですが、グループと参照フォルダーを使い分ける上で知っておきたい特徴の違いを整理して紹介した内容になっています。

関連して、Xcode 5 で登場したアセットカタログを使う上での基本についても触れているので、そのあたりの知識を整理しておきたい方は、ぜひ上記のスライドをご覧になってみてください。

in 横浜へなちょこ iOS 勉強会 #32

続く #32 では、Xcode 5 の基本の中から、多国語対応でお馴染みの「ローカライズ機能」について、その基本と注意点をお話させて頂きました。

この会を迎えるころには、書籍づくりもすっかり落ち着いて、のんびりとお邪魔させて頂くことができました。書籍が出たことを知ってくださってたり、自習時間にわざわざ買ってきてくださったり、Xcode についていろいろ語り合えたり、そんな時間もとても嬉しいひとときでした。

 

さて、このローカライズの話題も Xcode 5 徹底解説 で触れた内容だったのですけど、書籍では「ソースコード編集」「UI 設計」「プロジェクト設定」の 3 つにテーマを分けてバラバラに紹介していた内容だったので、ひとつの題材でもあるので整理してどこかで紹介したいなと、執筆しながら思っていた内容でした。

余談ですけど、実のところは「やっぱり直したい」と思って最後の校正で章構成を変えて提出したのですけど、編集担当さまから「今からは無理!」と言われて却下されました。整理の仕方の違いだけだったので、それでも問題はなかったですけれどね。というか、あのタイミングで変更していたら確かにチェックが甘くなって品質に悪影響が出ることも十分ありえたので、むしろ止めて頂いて正解でした。

 

そんな背景もありますけど、発表テーマにしたいと思ったもう一つの理由に、ローカライズ設定にはなにかと罠が潜んでいたというのがありました。

画面から窺える機能をしらみつぶしに、検証しながら進めていたら、ローカライズができなくなったり、Base 言語が想像と違う挙動を見せたりして、この辺りもいったん整理しておいた方が安心してローカライズ機能を扱っていけそうだなと思って、独特な動きや注意事項を中心にスライドを作成しました。

改めて眺めてみるとなかなか動きが複雑で、慎重に調査はしたつもりではあるのですけど、もしかすると追い切れていないところもあるかもしれませんので、もし何か違いそうなところがあれば教えてください。

なお、このスライドの中で、文字列テーブルを使う方法として NSBundle の -localizedStringForKey:value:table: メソッドを使う方法を紹介しましたが、これと同等のマクロ NSLocalizedStringFromTable も用意されていました。

どちらも同等の処理ができるので、お好みで使いやすい方を選んで頂ければ大丈夫です。

 

勉強会で印象に残ったこと

そんな、横浜へなちょこ iOS 勉強会の中で、特に印象に残ったことを簡単にながら紹介します。

in 横浜へなちょこ iOS 勉強会 #31

まず、私事ではありますけれど、はじめてこちらの勉強会に参加させて頂いたにも関わらず、自分のことを知っていてくれる方が何名もいて、しかも声をかけてもらえたことが嬉しかったです。

自分の 音で再配達 というアプリを知っていてくださったり、以前に自分が発表の場を与えてもらった 第4回 iphone_dev_jp 東京 iPhone/Mac 勉強会 での事を覚えてくれていたり。なんかこう、初めての場所にお邪魔したにも関わらず、歓迎してくれている感が嬉しく思えるんですよね。

 

自分は 2 年前に初めて勉強会に参加するまで、プログラミングやブログでこうやって人と繋がれるということに気付かずに過ごしてきたので、こういう輪の広がりに勉強会の醍醐味を感じます。

お邪魔させて頂いて、居合わせた人や、発表された方に話しかけるでもそんな体験は得られるのですけど、さらに発表させて頂くとその輪がさらに深まる印象がします。ですので興味があれば、ぜひ思い切って発表という場も体験してもらえたらいいなと、こんなことを感じるたびに思います。

あとそう、発表したいなと思ったときに「自分なんかが時間をもらっていいのかな」って思ってしまったりもするのですけど、そんな思いとは裏腹に、むしろ歓迎してもらえたりして、そんなところも嬉しさ感じる小さなポイントだったりします。

 

さて、発表内容ではYuichiro Suzuki(@u16suzu)さんの発表が特に印象に残ってます。

こういう「自分だったらどんな風にコーディングしているか」みたいなお話って、じっくり聞かせてもらえる機会もなかなか少ないですし、そこからいろんなことを感じられていいですよね。「こういうやり方だとどうだろう」っていう話にも発展しやすいので、お互いの知識が深まる、なんかいいテーマかなって思います。

そんな印象が残っていたので、#33 でも発表される予定と知って楽しみにしていたのですけど、事情により欠席となってしまったのは、少しばかり残念でした。またの発表を楽しみにさせて頂いてます。

in 横浜へなちょこ iOS 勉強会 #32

#32 で印象に残ったのは、発表予定のリストのときから気になっていたのですけど、Takaaki Onishi(@takaaki024)さんの JavaScript のお話でした。

いくらか前に JavaScript Core というフレームワークの存在を知って、iOS での JavaScript の可能性に関心を持っていたところだったので、今回のお話は UIWebView を使ったお話ですけど、そんなテーマの実用例はとても気になるところでした。

発表されていたスライドは [日記(IT)] 勉強会で発表してみました に掲載されています。

 

それとharanicle(@haranicle)さんの QuickDialog のお話も興味深かったです。

こういう「簡単に画面を作ろう」というテーマのコンポーネントもあるんですね。自分は知らなかったのですけど、どんなことができるかとか、使う場合の留意点などを整理して教えてもらえて、良い勉強になりました。