タグ

ブックマーク / qiita.com/Ushio@github (2)

  • Objective-C++でSwiftに挑む - Qiita

    Objective-C特有の型だってもちろん使えます。 ターゲット2 コレクション型 Swiftでは基となるコンテナクラスは今のところDictionaryとArrayのみという極めて貧弱極まりない環境です。 しかしその点Objective-C++なら、Objective-Cのコレクションクラスはもちろん、 状況に応じてC++のよく熟成された標準ライブラリに簡単に統合することが可能ですね。 例えば以下のように #import <Foundation/Foundation.h> #include <map> int main(int argc, const char * argv[]) { @autoreleasepool { struct CompareNSString { bool operator()(NSString * lhs, NSString *rhs)const { retu

    Objective-C++でSwiftに挑む - Qiita
    komlow
    komlow 2014/06/20
    良さそう
  • blocksの落とし穴 - Qiita

    blocksには数多くの落とし穴があります。 しかしそれを乗り越えることができれば、非常にスマートにかける状況はそれなりに増えると思います。 ※注意:ここではARC環境での話です。一部MRCと状況が異なる場合があるかもしれません。 <blocksはObjective-cのオブジェクトをstrong参照でキャプチャする> ここでいうキャプチャとは、ポインタをコピーしている、ということです。 なんで?と思われる方も多いと思います。しかし理由ははっきりしていています。 例えば、dispatch_afterで処理を遅延することを考えてみましょう。 NSArray *sameArray = ...; int64_t delayInSeconds = 2.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSecon

    blocksの落とし穴 - Qiita
  • 1