タグ

2014年3月22日のブックマーク (6件)

  • Objective-C でシングルトンパターン (緩め)

    Objective-C でシングルトンを実現するのは、ちゃんとやろうとすると、結構手間です。例えば、ARC (Automatic Reference Counting) 無効の場合、次のブログが示しているように、シングルトンインスタンスを取得するメソッドを追加するだけでは話は終わらず、あまり直感的ではない方法で複数のメソッドをオーバーライドしなければなりません。 Objective-C でシングルトンパターン http://blog.syuhari.jp/archives/2178 ARC 有効となると、書き方も変わってきます。 言語の特性上、呼び出し側で無茶なことができてしまうケースが幾つかあるので、シングルトン実装側だけで完全性を達成しようとするのは難しいと思います。そのため、ある程度シングルトン的な構造にはしておくものの、呼び出し側がひねくれたことをやったら責任は負えないよ、という実

  • -doesNotRecognizeSelector: - macOS/iOS API解説

    INDEX>Foundation>NSObject> 指定したセレクタを認識しなくします -(void)doesNotRecognizeSelector:(SEL)aSelector: 【精米】佐賀県産 白米 さがびより 5kg 平成26年産 出版社/メーカー: 藤井商店メディア: 品&飲料購入: 8人 クリック: 27回この商品を含むブログを見る 解説 指定したセレクタを認識しなくします。 ランタイムシステムはレシーバーが応答も転送も出来ないメッセージを受信した時にはこのメソッドを呼び出します。NSInvalidArgumentExceptionを起こします。 サブクラスで次のように実装することでメソッドを使用できないように設定することができます。 (void)copy { [self doesNotRecognizeSelector:_cmd]; //_cmdはカレントセレクタ。 }

    -doesNotRecognizeSelector: - macOS/iOS API解説
    Bowz13
    Bowz13 2014/03/22
    指定したセレクタを認識しなくします。サブクラスで次のように実装することでメソッドを使用できないように設定することができます。
  • シングルトンの抽象クラス(Objective-C) - Qiita

    #import "SingletonObject.h" static NSMutableDictionary *cls_varietySingletons = nil; @implementation SingletonObject + (void)initialize { static dispatch_once_t once; dispatch_once(&once, ^ { cls_varietySingletons = [NSMutableDictionary new]; }); } #pragma mark - singleton process + (instancetype)sharedInstance { @synchronized (self) { id storedSingleton = cls_varietySingletons[NSStringFromClass(s

    シングルトンの抽象クラス(Objective-C) - Qiita
  • Evernoteに素早くメモを保存できるiOSアプリ--「PostEver 2」

    PostEver 2は、Evernoteに素早くメモを保存することに特化したアプリだ。独自のPostEverエンジンを利用すれば、メモを何度Evernoteに送信しても1日分を1つのノートにまとめてくれるので、ちょっとしたメモ程度のノートが多数作成されてしまって整理に困る、というようなことがなくなる。メモには、位置情報やタイムスタンプを自動的に付加できるので、後でメモを読み返すときに、いつ、どこで書いたメモなのかを簡単に確認できて便利だ。 PostEver 2を起動すると、入力画面とキーボードがすでに表示されているので、すぐに入力し始めることができる。入力したメモをEvernoteに送信すると画面上は白紙に戻るが、PostEverエンジンをオンにしている場合、次に入力して送信した内容は、Evernote上にすでに作成済みのノートに追記される。入力済みのメモを1回送信するごとに画面の内容は削

    Evernoteに素早くメモを保存できるiOSアプリ--「PostEver 2」
    Bowz13
    Bowz13 2014/03/22
  • 64bit版Windows7でPS3コントローラを認識させる - ゲームプログラミングを頑張る日記

    PS3の純正コントローラを認識。今回はUSB接続のみを使用します。 色々調べたところ、Windows7+64bit版となると他と比べて色々面倒とのことでしたが、無事認識完了。 最終的に調べて回った他サイトの方法とはやや違ったやり方となったので、まとめてみようと思います。 試行錯誤の後にまとめた記事なので、少々おかしな点もあるかもしれません。ひとまずは参考までに。。。 ========================================================= (1)MotioninJoyをインストール http://www.motioninjoy.com/ 右上「Downloads」からサイト内の「64bits Windows vista,Windows 7: site 1」を選んでダウンロードし、インストール。 ※この記事作成時は、「MotioninJoy_0600

    64bit版Windows7でPS3コントローラを認識させる - ゲームプログラミングを頑張る日記
  • NSURLクラスのフラグメントの解釈 | アールケー開発

    NSURLクラスの「fragment」メソッドは、URLのフラグメントを返してくれます。ただ、その動作は「#」以降をすべてフラグメントとして解釈するとなっているようです。 例えば、「https://www.rk-k.com/test.html#name=10?from=browser」というURLがあった場合、「fragment」メソッドと「query」メソッドの戻り値は次のようになります。 fragment : name=10?from=browser query : nil RFC 1808では、URLを次のように定義しています。 <scheme>://<net_loc>/<path>;<params>?<query>#<fragment> つまり、定義的には、フラグメントは最後にあるべきで、クエリーはフラグメントよりも前にあるべきということです。そのため、「https://www.r

    NSURLクラスのフラグメントの解釈 | アールケー開発