タグ

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

  • UIGraphicsBeginImageContextの無駄 - Qiita

    よく、以下のようなコードでオフスクリーンコンテキストを作成し、 描画の後画像を得るサンプルを見ます。 コードが単純なためか、非常に広く使われていると思います。 UIGraphicsBeginImageContextWithOptions(CGSizeMake(1024, 1024), NO, 1.0); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextFillEllipseInRect(context, CGRectMake(0, 0, 1024, 1024)); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); ですが、これは来やらなくていい処理をしていると思いませんか? という

    UIGraphicsBeginImageContextの無駄 - Qiita
  • NSStringのisEqualToString:の落とし穴 - Qiita

    ※この記事は間違った情報を記述しています NSStringにはisEqualToString:[isEqual:]で文字を比較することができます。 しかしながら、この比較というのはliteral Unicode-based comparison、バイト列の比較なのです。 つまり、文字列的には同じだが、バイト列としては違う場合、 isEqualToStringは違うものと判断してしまいます。 従ってこの挙動が望ましくない場合、compare:等のその他の比較メソッドの中から適切に選択する必要があります。 caseInsensitiveCompare:やlocalizedCompare:等々色々ありますね。 この辺はまたしっかりリサーチができたらいずれまとめたいです。 #import <Foundation/Foundation.h> int main(int argc, const char

    NSStringのisEqualToString:の落とし穴 - Qiita
    Bowz13
    Bowz13 2013/06/26
    文字列の比較について(誤った情報)
  • 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