A-Liaison BLOG
akisuteが主に技術的なネタを書き溜めるブログです。
ラベル
Objective-C
の投稿を表示しています。
すべての投稿を表示
ラベル
Objective-C
の投稿を表示しています。
すべての投稿を表示
2013年11月3日日曜日
Objective-Cでパターンマッチしたい
›
また誰得な妄想ネタですみません>< 突然ですが、Objective-Cでパターンマッチがやりたいんです。MLだとかOCamlだとかScalaだとかみたいに。 MLの例: http://kktoppa.web.fc2.com/smlnj4.html OCamlの例: ht...
2012年6月24日日曜日
__has_feature(objc_arc_weak) を使って賢く安全に ARC/Blocks を使う
›
iOS 6も発表されて、皆さんARCやBlocksをガンガン使用する感じのプログラミングスタイルに変化してきていると思うのですが、そこで問題になってくるのが後方互換性の話です。特にiOS 4。Blocksを使うとなるとどうしても以下の様に非同期で実行されたBlocksの中からVi...
2012年3月17日土曜日
非同期で動作する OCUnit (SenTestingKit) を書いてみた
›
非同期のテストができないのでGHUnitを使っていたのですが、やっぱりCmd+U一発で単体テストが走る便利さがいいなーと思い、ためしにSenTestingKitで非同期のテストができないかやってみたらできちゃったので公開します。 https://github.com/akis...
2012年1月21日土曜日
Objective-C がこの四年間でどれぐらい進化したのか一目でわかるテストケース
›
Twitterに流したら思ったよりも好評でしたので、ブログにも上げておきます。 こちらがiOS 2地点でのNSURLConnectionクラスを使った非同期通信のテストケース。 こちらがiOS 5でのNSURLConnectionクラスを使った非同期通信のテストケース。 ...
2011年11月27日日曜日
Cocoa Framework に用意されていないロックを Objective-C で実装する
›
Cocoaフレームワークは非同期処理時のロックを取るために、NSLockingというプロトコルと、NSLock, NSRecurrsiveLock, そしてNSConditionalLockという3種類のロックの実装を提供しています。が、残念ながらちょっとまともな非同期コー...
2011年9月18日日曜日
iOS, Android, Windows Phoneのメモリ管理とかメッセージングの仕方を調べてみた
›
ぼちぼちTwitterにつぶやいていたらTogetterにまとめてくださった方がいらっしゃるので、せっかくなのでこちらでも紹介したいと思います。 http://togetter.com/li/189550 (githubみたいにembedできればいいのになーなんて><) ...
2011年8月22日月曜日
UDIDが使えなくなりそうなので、UIIDを使えるようにしました
›
■2012/11/11追記 iOS 6より [[UIDevice currentDevice] identifierForVendor] というAPIがAppleより提供され、よりプライバシーに配慮した上により安全な方法で自分の開発したアプリケーションを利用するユーザーを個別...
2011年7月31日日曜日
Objective-C で文字列リテラルに \0 を含めたいときの作戦
›
Xcode 4.0 から LLVM が標準のコンパイラとなり、各種警告が非常に厳しくなっています。その中でも特に今回は文字列リテラルに \0 が含まれているときの警告について回避策を発見したのでご紹介したいと思います。 Objective-C では文字列リテラルは @"...
2011年5月29日日曜日
-ObjC とか -all_load って何をやってるのか調べてみた
›
よく外部のライブラリやFrameworkをiOSのプロジェクトに取り込むときに、つけないと動かないからつけてねと言われる、 Other Linker Flag = -ObjC -all_load のフラグ。これって何をやっているのか今までずっと気になっていたので、ちょっと調べてみ...
2011年4月23日土曜日
KeychainItemWrapper を改造して、複数の Keychain Item に同時にアクセス出来るようにしてみた
›
※2011/04/23現在での情報です。以下の問題は全て Apple に対して報告いたしましたので、ひょっとしたら将来的に修正されるかもしれません。 現在の仕事にて課金情報を安全にアプリケーション内に保存したいということになり、それならばということで iOS に最初から用意されて...
2010年11月4日木曜日
iPhone / iPad でIPアドレスやMACアドレスを取得するクラスを書いてみた
›
たまには技術ネタを書きます。 iOS で IPアドレスや MACアドレスを取得するためのObjective-Cクラスを書いてみました。 コードはこちら。 https://gist.github.com/662203 ライセンスは記載のとおりMITライセンスです。 参考にしたサイト...
2010年5月3日月曜日
UTF-8 の文字列の長さを正確に求めるためには Normalize しましょう
›
Twitterにメッセージを送信する際に、クライアント側でメッセージの長さを判定して画面に表示したいというような要件があると思います。当然、このような場合には入力されたメッセージを取ってきてその長さを求めてやれば良いのですが、どうやら UTF-8 などのマルチバイトな文字コードを...
2009年10月31日土曜日
libHaru on iPhone: Objective-Cでエラーハンドリング
›
前回 記載できなかったエラーハンドリングについて軽くさわってみました。 ■libHaruのエラーハンドリング http://libharu.org/wiki/Documentation/Error_handling に詳しく書いてあります。要するに、一番最初のPDFドキュメントを...
2009年8月10日月曜日
何でもいいから作ってみようと思って作った結果がこれだよ!
›
製作期間二日。この程度の物に二日とか許されるのは小学生までよねー・・・orz 一応自機も動くしあたり判定もあるしゲームオーバーにもなるよ!すごいよcocos2d! 以下、全然関係ないけど設計のお話です。 (2009/08/30追記) 以下の内容に従って作ってみ...
2009年6月8日月曜日
時間を入力するために、カスタムUIPickerViewを作ってみた
›
時間を入力するためのUIが欲しかったので、こんな感じのカスタムUIPickerViewを作ってみました。ソースコードはこちら。 http://github.com/akisute/YourTurn/blob/8119bf028acf4908edb602d277544bc2cf6a...
2009年5月31日日曜日
NSTimerは基本的にretainせずassignでよい
›
NSTimerを初めて使ってみたのでハマったところをメモしておきます。 ■NSTimerはNSRunLoopにretainされる。NSTimerは引数targetで与えられたオブジェクトをretainする。 いちばんハマったのがこの挙動です。 AppleのNSTimerについての...
2009年5月7日木曜日
Objective-CではvalueForKeyPath:で集計関数みたいなものが使えて凄く便利
›
Pythonだと、 list = [{'no':1, 'name':'akisute'}, {'no':2, 'name':'abesi'}, {'no':3, ...
2009年5月4日月曜日
Objective-CのnilとNULLの違いって何?
›
自分用メモ。 nilは「Objective-Cの空のオブジェクト」、NULLは「C言語の空ポインタ」と解釈する。 もっとも良い例がNSFileManagerのcreateDirectoryAtPath:withIntermediateDirectories:attributes...
Objective-CではJavaのようにNullPointerExceptionが発生したりしない
›
そう、Objective-CにはNilPointerExceptionのようなものがないんです。 Javaでは int main(String[] args) { String str = null; int length = str.length(); //Null...
2009年1月24日土曜日
route-meでタッチイベントを扱いたい
›
タッチイベントを扱うときはRMMapViewDelegateプロトコルを採用する シングルタッチ、ダブルタッチを感知したり、マーカー上のタッチやドラッグを感知したり、地図の移動およびズームを感知したりできる 現状、マップのドラッグやズームを使用不可能にするための手段は用意されてい...
›
ホーム
ウェブ バージョンを表示