EZ-NET

UPDATES

更新日 内容
2015-05-06 Equatable に準拠しているかを実行時には判定できない様子
Swift で、実行時に渡されてきたインスタンスが Equatable に準拠しているかを判定したかったのですけど、どうやらそれはできない様子でした。
2015-05-03 Swift の変数で型を扱う。
Swift の変数を型でやり取りしたいときには Type 型を使用します。ここではその特徴と、型の判定方法について見ていきます。
2015-05-02 Apple Watch に初めて触れて感じたこと。
待ちに待った Apple Watch が発売されて 1 週間が経ちました。嬉しいことに自分も初日に手に入れられたので、それから使ってみている中で感じた心地を綴ってみることにしました。
2015-04-21 Swift で書式文字列を受け取る関数を作る。
Swift でも Objective-C 言語でおなじみの書式文字列を受け取って文字列を作る関数やメソッドを簡単に実装できるようになっています。
2015-04-07 Xcode で Derived Data を簡単に削除する方法。
このところ Xcode で、クリーンビルドだけでは問題が解消しなくて Derived Data の削除が必要になることがたびたびある気がします。そこで簡単に Derived Data を削除する方法を整理しておきます。
2015-04-07 Swift 1.1 では独自の演算子を定義しない方が無難そう。
Swift では独自の演算子を定義できるようになっていますが、同じ記号の演算子を複数のモジュールで定義すると何かと困ったことになるようです。同じ記号の演算子を複数のモジュールで定義すると途端に使えなくなったりするので、使う場所はかなり制限されそうです。
2015-04-05 Swift でディレクトリを中間層も含めて作成する。
Swift でディレクトリを作成したいときは NSFileManager を使うと中間ディレクトリも含めて簡単に作成できます。
2015-04-05 Xcode 内のバイナリを探してヘッダーファイルを抽出する。
Xcode のプラグインを作っていて知らないオブジェクトに出会ったときに、都度それが持つ機能を調べなくても良いように、Xcode アプリ内のバイナリから手当たり次第にヘッダーファイルを抽出するスクリプトを作ってみました。
2015-04-04 class-dump でバイナリからヘッダーファイルを抽出する。
Xcode のプラグイン作りに手を出してみると、フレームワークからヘッダーを抽出する必要に迫られたので class-dump を使ってみました。
2015-04-02 ビルド時に corrupted AST file エラーが発生。
Xcode 6.2 でいつものようにアプリをビルドしていたところ、ある日から突然 malformed or corrupted AST file というビルドエラーが発生するようになりました。それを解消してみたときのお話です。
2015-03-31 JSContext の作成に失敗しないようにする。
JavaScriptCore で頻繁に JSContext を作成していると、ときどき EXC_BAD_ACCESS が発生することがありました。そんなときの対処法を見つけたので記しておきます。
2015-03-30 Swift でデリゲートを実装する方法。
Swift でデリゲートパターンを実装する方法を整理してみました。Objective-C でお馴染みのデリゲートメソッドの実装を任意にする方法についても紹介します。
2015-03-30 #yidev 第18回勉強会を開催しました。
今月のはじめに #yidev 横浜 iPhone 開発者勉強会を開催しました。
2015-03-15 Apple Watch に画像のボタンを設置する。
Apple Watch アプリで画像を使ったボタンを設置する方法です。
2015-03-15 Apple Watch アプリと同時に親アプリもデバッグする。
Apple Watch アプリをデバッグするとき、Apple Watch を制御する Extension が親の iPhone アプリとは別プロセスで起動するため、そのままでは Extension だけしかブレークポイントで止められません。そこで、親の iPhone アプリでもブレークポイントで停止できるようにしてみました。
2015-03-14 Apple Watch アプリから親アプリの情報を更新する。
Apple Watch アプリで使っているデータを親の iPhone アプリに渡して、それを iPhone 側の画面に表示してみました。
2015-03-14 簡単な Apple Watch アプリを初めて作ってみる。
Apple Watch アプリを作ってみようと思ったものの、どこから手をつけたらいいかわからなかったので、まずは起動して動かせるだけの簡単な Apple Watch アプリを作ってみることにしました。
2015-02-24 XCTest に便利な Xcode のショートカット。
Xcode の XCTest でテストコードを書くときに覚えておくと便利なショートカットを紹介します。
2015-02-20 Swift で Optional で包んだクロージャーを扱う場面
そういえば Optional で包んだクロージャーも糖衣構文で簡単に扱えるのかなと思って確かめてみました。そこから、コールバックとして使うクロージャーの受け取り方についても考えてみます。
2015-02-20 Swift でプロパティへの代入時に KVC で変更を検出する。
KVC を使っていると、その変更を検出するには setValue:forKey: メソッドを使って書き込む必要があります。ただ、プロパティに直接書き込むコードの方が読みやすいので、プロパティに直接書き込みされた時でも変更を検出できるようにしてみました。
2015-02-18 ツールバーをウィンドウのタイトルバーとして使う。
OS X Yosemite 対応以上のアプリであれば、NSWindow のタイトルバーに NSToolbar を使って自由度の高いタイトルバーを作れます。
2015-02-18 Xcode のコマンドラインツールをターミナルから切り替える。
Xcode 6.3-beta で Swift 1.2 が登場して、Swift 1.1 とは言語構文にも違いがあるものだから、どちらで作ったコードかで Xcode を正式版と Beta 版との使い分ける必要がたびたび出てきました。そこで、ターミナルからコマンドラインツールを切り替える方法を調べてみました。
2015-02-13 SourceTree から Xcode-Beta を開く。
先日に SourceTree から Xcode のプロジェクトやワークスペースを簡単に開けるカスタムスクリプトを作成しましたが、正式版とベータ版とを切り替えて開けるようにしたくて、Xcode-Beta で開くスクリプトを作成しました。
2015-02-11 Swift の不変値変数で定義と初期化を分ける構文について考える
Swift 1.2 で不変値変数の定義と初期化を分けて書けるようになりましたけど、別けない方が何かと都合が良いようにも感じました。
2015-02-11 島根県を旅してきました。
なんとなく気になっていた島根県。神奈川からだと遠くてなかなか行ける距離ではなくて月日は過ぎて行きましたけど、なんとなく機会が巡って念願の島根県は松江と出雲を訪れる運びとなりました。
2015-02-08 GitLab をアップデートする。
先日に GitLab 7.6.2 をインストールしましたが、それより新しい 7.7.2 がリリースされていたので、それにアップデートしてみることにしました。
2015-02-06 TrueCrypt で USB メモリをまるごと暗号化する。
USB メモリに大事なデータを入れて持ち歩きたいときってありますけど、もし落としたときにそのまま中身が見れてしまうのは不安です。そこで TrueCrypt というソフトを使って USB メモリを暗号化してみることにしました。
2015-02-05 Swift の失敗可能イニシャライザでのプロパティ初期化の必要性
Swift では初期化不能と判断したときに nil を返せるイニシャライザがありますが、構造体とクラスとで、ストアドプロパティの初期化の仕方(必要性)に差がある様子でした。
2015-02-05 Swift のイニシャライザから呼び出せる機能まとめ。
Swift のイニシャライザでは初期化前の値が使われないように、使える機能が制限されています。幾らかの段階を経てイニシャライザ内でも全ての機能が使えるようになるので、どの段階でどの機能が利用できるのか整理してみました。
2015-01-30 OS X でスクリーンショット取得時のファイル名を変更する。
OS X でスクリーンショットを取得すると、ファイル名に「スクリーンショット」というプレフィックスが付いて保存されますが、プレフィックスは自由に変更できるようになっています。