2012年12月15日土曜日

Blogger でソースコードをハイライトする

SyntaxHighlighter を使ったソースコードをハイライトする方法の紹介です。

css / js の読み込みと SyntaxHighlighter の設定

XRegExp.js / shCore.js / shLegacy.js に加え、shBrushXml.js は他のライブラリにも依存しているようなのでこの4つは読み込ませた方が良いかも。

    

script タグを使った記述方法


pre タグを使った記述方法


NSManagedObject の modifiedAt を auto update する

Core Data で各オブジェクトを保存する際に更新時間を自動で更新させる方法の紹介です。

NSManagedObject を継承した基本クラスの作成

ベースとなる基本クラスを作成しこのクラスに日付のプロパティを追加する。


保存前に createdAt と modifiedAt への代入

保存を行うと保存を行う前に willSave が呼び出されるので、ここで createdAt / modifiedAt に現在時刻の代入を行う。



ただし、これだと保存時に毎回 createdAt / modifiedAt が保存されてしまうので、createdAt は初回のみとし modifiedAt はプロパティに変更があった時のみ行うようにする。



ちなみに、setPrimitiveValue を使っている理由は今のところ把握していない。詳しくは調べていないのだけれども setPrimitiveValue メソッドを使って値を代入する必要があるようだった。

2012年12月1日土曜日

debug log をターゲットによって切り替える

個人的には PRODUCTION をマクロ定義に追加してアーカイブの時のみログが出力されないようにしてます。