Objective-c

NSErrorとNSException

Cocoaには、エラーが起きた時の対処方法として、NSErrorとNSExceptionがあります。
Read more

NSDateFormatterの再利用

NSDateFormatterを含むNSFormatterクラスは、生成コストが高いのでなるべく再利用します。
Read more

synthesizeはいつ書く必要があるか

compilerの進化に合わせて、objective-cにおけるpropertyの書き方も変化してきましたが、今回はsynthesizeについて。
Read more

アプリやiosライブラリを作って感じたこと

Viewは最初の設計でうまくいかない事が多い iOSにおけるViewは様々な制約(subclassしてはいけない、subclassしないといけない)があり、最初にしっかり設計しても、ハウルの動く城の様につぎはぎになってしまう事が多いです。
Read more

objective-cにおけるprotectedなpropertyの定義方法

privateなpropertyはclass extensionを使えば良いですが、protected、即ちsubclassからもアクセスできるpropertyが欲しい場合どうするか。
Read more

private property vs privateなインスタンス変数

外部から隠蔽したい状態を保持するには、privateなpropertyとprivateなインスタンス変数と2通りのやり方があります。
Read more

propertyの属性

propertyを宣言する場合に、どの属性を指定すべきかまとめたものです。
Read more

Objective-cでNSStringをbase64 encode

ios7から、NSDataにbase64EncodedStringWithOptions:というメソッドが新たに追加され、base64 encodingが楽になりました。しかも、ios7より以前のバージョン用に、それまでprivateだったbase64Encodingというメソッドがpublicになりました。
Read more

switch

objective-cのswitchは整数値しか判定できない objective-cにおけるswitchの条件式は、integral(整数値. intなど)しか受け付けません。なので、以下の様にNSStringのインスタンスを条件式に渡すと、構文エラーになります。
Read more

XCTestで書いたUnit Testのリファクタリングを試みた

XCTestで書いたUnit testのrefactoringを試みたのですが、個人的にすっきりする方法が見つかりませんでした。
Read more