Objective-C」カテゴリーアーカイブ

Objective-C の storyboard を Swift に移植する

誰得?な感じですが、必要となったときに参考にしてください。なぜ、必要に迫られているかというと、Objective‐C逆引き大全555の極意 を Swift 版に移植中なのです。先日 WWDC で Swift2 が発表になったので、結果的には Swift2 に移植することになるわけですが、まあ、両方買うと、Objective-C と Swift2 と相互に変換できて便利、という組み合わせな訳です。 その中で、最初はちまちまと Swfit 用の storyboard を書き直していたわけですが、storyboard 自体は中身が xml だし、そのままプロジェクト間をコピーしたら動かないか?と思ったわけです。結論から言えば、動きました。ViewController のクラス指定と、IBAction/IBOutlet に注意する必要がありますが、うまく手順を踏めば、きれいに動きます。 逆引きの場 … 続きを読む

カテゴリー: Objective-C, Swift | コメントする

【募集】 iPhoneアプリ初心者本のお手伝い募集中

ブログで募集します。 某社で iPhone アプリ初心者本を書いているのですが、私(増田)のお手伝いさんを1名募集します。 ■主な仕事 サンプルアプリのデザイン直し。サンプル自体は増田が作成します。 画面キャプチャ全般 ヒントかコラムをいくつか、あとは校正などの手伝い ■条件 フリーでも会社員でも構わないのですが、できればフリーの方。。iPhone/iPad 関係では、ミニゲームライブラリ販売計画と高速電子書籍計画が進行中です。まあ、書籍ネタにぼちぼちと、其の後の企画を混ぜるという私のスタイルですね。 年齢、性別は問いません。実力はちょっとは問うかも(iPhoneプログラミング初心者でもよいのですが、なんらかのプログラミングができることが条件です)。 当然ながら、iPhone, Mac を持っていることが前提条件です。実機で動かすために iOS ライセンスがあれば吉なのですが、ない場合は1 … 続きを読む

カテゴリー: 仕事, Objective-C | コメントする

null/nil の扱いをオブジェクト指向的に考え直す

Objective-C で nil のメソッドを実行すると例外が発生しないのは変…ではないよ、というのを解説。 ■そもそもの NULL の意味 C++ も Objective-C も C言語を発端としているので、「NULL」≒「値が無い状態」というのを継承しています。 御存じの通り、C言語では、NULL というのは(void*)0 あるいは 0 として定義されています。定義されているのですが、これが NULL という意味を示しているかどうかは別なのです…が、「現実主義的な」C言語としては、NULL = 0 のほうが都合が良かったわけですよ。 基本は NULL はポインタとして扱うので、0 ポインタ自体を「有効」にできないという矛盾があります。かつて、8bit 時代の CPU ではメモリが貴重だったので、0 ポインタを「無効」にするとはなんということかッ!!! という … 続きを読む

カテゴリー: C#, C++, Objective-C | 8件のコメント

iPhone/iPad アプリ開発 逆引き大全 500の極意ができました

iPhone/iPadアプリ開発 逆引き大全500の極意|書籍情報|秀和システムhttp://www.shuwasystem.co.jp/products/7980html/3352.htmliPhone/iPadアプリ開発逆引き大全500の極意―Apple Mac OS10Lion対応 iOS5SDK/Xcode4対応: 増田 智明, 池谷 京子: 本http://www.amazon.co.jp/exec/obidos/ASIN/4798033529 そんな訳で苦節半年(ぐらいかな)掛かりましたが、iPhone/iPad プログラミングの本ができあがりました。総ページ数 600頁強、総Tips 数 500 、私の担当分は 300 tips という具合です。今回の本では、サンプルプログラムを CD-ROM ではなくて、サイトからダウンロードすることになっています。現時点で準備中(整理が間 … 続きを読む

カテゴリー: 書籍, Objective-C | コメントする

逆引き大全iOSの脱稿間近

いや、間近というか、既に締切を過ぎておりますが、来月の末には発行の運びになる…という観測をば。 秀和システム様より、「逆引き大全 iPhone/iPad の極意 500(仮)」で出る予定です。 ネタ元をばらしておくと Amazon.co.jp: iPhoneプログラミングUIKit詳解リファレンス: 所 友太, 京セラコミュニケーションシステム株式会社: 本 Amazon.co.jp: iPhone デベロッパーズ クックブック: Erica Sadun, 株式会社クイープ: 本 から相当パクリ…じゃなくて参考させて頂きました。なんせ、300 tips を執筆しないといけないので(共著の池谷さんが 200 tips で合計 500 ということで)、並みの数ではないッ!!! というのは毎度のことで、この2冊からピックアップして、Xcode 4.3.1 で作れるように直 … 続きを読む

カテゴリー: Objective-C | コメントする

Xcode 4.2 でUINavigationControllerを使う

UITableViewController と UINavigationController を使って画面を作ると、手軽に業務アプリ的な入力画面が作れるはずなのですが、この扱いが意外大変なのです…が、実は、Xcode 4.2 から導入された storyboard の機能を使うと「非常に簡単に」(と言っても以前に比較してというところでしょうが)、ページが扱えますという tips です。まぁ、実の処は、執筆中の本で使うサンプルなのですが。 上記のようにテーブルの項目をタップすると、画面間を行き来できる、というツリー構造のアプリです。 ■Xcode 4.2 で Master-Detail Application を選択 XCode で既にテンプレートが用意されているので、これを使います。「Master-Detail Application」を選択すると、上記のようなアプリのひな型が作 … 続きを読む

カテゴリー: Objective-C | コメントする

リリースビルド時にNSLogをきれいさっぱり消す方法

でらうま倶楽部 : iPhone リリースビルド時に余計なコードをまとめて省く、Objective-Cなりの書き方。 http://blog.livedoor.jp/tek_nishi/archives/3449727.html でらうま倶楽部 : Objective-C プロトコルを最短で理解するプログラム例 の記事を参考にさせて頂いたの、御礼がてら。 C言語の定番として、マクロを使うという手がありますね。以前、業務で良く使っていました。 と定義しておいて、 のようにログを書きます。「NLOG(( … ));」のように、括弧を2重に重ねるのが気持ち悪いですが、こうすると綺麗さっぱり消えます。まあ、ログなので括弧が2重になってもokかなと。 これの派生バージョンで、C++ では、__FILE__, __LINE__ を使って簡易的にログ出力できるようなマクロを組んだりします。 … 続きを読む

カテゴリー: Objective-C | コメントする

UILabelやUIImageViewのタッチイベントを取得する

iPhone プログラミングの中で、ボタンのクリックイベントは簡単に取れるのですが、ラベルや画像のクリックイベントが手軽に取れません。いくつか調べると、UITapGestureRecognizer を使うか、touchesEnded メソッドをオーバーライドするか、という方法があるのですが手軽でもないので。 iphone – How can I determine if a UILabel was touched? – Stack Overflow http://stackoverflow.com/questions/2539380/how-can-i-determine-if-a-uilabel-was-touched UILabelのタッチイベントを検出する方法 ? 拡張現実ライフ http://akio0911.net/archives/3419 どうやら、t … 続きを読む

カテゴリー: Objective-C | 6件のコメント

windows 環境で NSString を試してみるよ

危ない文章をトップに晒しておく(笑)のもアレなので、objective-c の話を少し。 mac mini 上で確認してもいいのですが、エディタは QX を使いたい、ということで windows 環境で文法のテストをしています。 最終的には、xcode 上で確認をするので、GUI のところも同時に記述したいなぁと思って、次のように書いています。 まず、NSString クラスのお試しコード 前後に、base1.m と base2.m がインクルードされているのミソです。この中で UI 部分をエミュレートする textField や、clickButton メソッドの実態があります。 ■base1.m ■base2.m 本当は、makefile を作ればいいのでしょうがソースコードレベルで書きたいので #inlucde を使っています。 テキストフィールドである UITextField クラ … 続きを読む

カテゴリー: Objective-C | コメントする

小1の宿題を手早く済ますための iPhone アプリを作ってみたが

小学一年生の冬休みの宿題で、算数の繰り上がり/繰り下がりのカードがある。 これを毎日やるのが宿題なのだけど、 親がカードが捲って 子供が答える 間違えていたら、後でもう一度やり直し。 という手順になっている。 2の「親が捲る」のが面倒なので、数を足す練習ぐらいならば「自分でできる」ほうが良かろう、と思って iPhone アプリを作ってみた。 例によって、プロトタイプの画面はひどくチープです。 そして、ロジックは、ばかばかしいほど簡単に。 娘に見せて、まぁ評判が良かったら、画像なり色なりを付けてリリースすれば、この冬「相手をしなくてよいか」と画策したのだが、娘曰く 「自分でやって、自分で答えをみると、『ああ、そうか』だけで詰まらない」 「親とやりとりしているのが楽しい」 のだそうだ。 まぁ、そりゃそうだろうな。自分でやってみても「ひどく面白くなかった」ので。IT が埋められないもの(かな?) … 続きを読む

カテゴリー: 雑談, Objective-C | 1件のコメント