タグ

ARCに関するmonjudohのブックマーク (12)

  • __has_feature(objc_arc_weak) を使って賢く安全に ARC/Blocks を使う

    iOS 6も発表されて、皆さんARCやBlocksをガンガン使用する感じのプログラミングスタイルに変化してきていると思うのですが、そこで問題になってくるのが後方互換性の話です。特にiOS 4。Blocksを使うとなるとどうしても以下の様に非同期で実行されたBlocksの中からViewを書き換えるようなコードを書きたくなるのですが、 __weak MyViewController *__weakSelf = self; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse* response, NSData* data, NSError* error){ __weakSelf.label.text = [[NSS

  • ARC | Natsu note

    “iOS 4 プログラミングブック”の続編とも言える”iOS 5 プログラミングブック”が間もなく発売されます。今回、縁あって書の一部を執筆させていただきましたので、簡単ですがご紹介いたします。 iOS 5 プログラミングブックは、iOS 5で追加/強化された機能を中心にまとめた中上級者向けの書籍です。 書を企画、プロデュースしてくださった@Seasonsさんが全体の紹介をしてくださっているので、こちらも合わせてご覧ください。 上級プログラマー必読の書。iOS5プログラミングブックついに完成!!その目次を公開します。 まずは、目次から。 iC … 先日App StoreからリリースされたXcode 4.3ですが、個人的には結構驚きな変更がありました。ARCを利用している場合に、プロパティのデフォルト属性(オブジェクトの所有に関する属性)が変更になっているではないですか。 これまでのデフ

  • プロジェクトのARC移行について

    iOS Advent Calendar 2011 22日目 この記事は@glassonion1さん主催のiOS Advent Calendar2011に向けて書いています。 昨日の@yomoappさんのiOS向けのオープンソースをまとめたサイトを作りましたからのバトンタッチです。 最近4.2以前のXCodeで開発したアプリをARC対応させたので、その手順と注意点など書いていきたいと思います。 ARCって何ですか ARCとはAutomatic Reference Countingの略称で、XCode4.2のApple LLVM 3.0 コンパイラから搭載された新機能です。 ご存知、iOSのObjective-CにはGCが無い為、オブジェクトのライフタイム管理はretain/releaseによるリファレンスカウンタの増減によって制御していました。 ARCはこれまで自分で記述しなければならなかっ

    プロジェクトのARC移行について
  • Xcode 4.3.2 の LLVM 3.1 コンパイラの ARC 最適化バグを踏んでしまった - むらかみの雑記帳

    Apple LLVM3.1 Compiler の -O1 以上の最適化をかけてコンパイルすると、ARC のリファレンスカウントがおかしくなってクラッシュする現象が発覚。(CashFlow はこれが原因でクラッシュしてました) 以下のコードで完全に再現します。 UIButton *b, *b1, *b2; for (int i = 0; i < 2; i++) { b = [UIButton buttonWithType:UIButtonTypeRoundedRect]; if (i == 0) { b1 = b; } else { b2 = b; } } b = nil; int rc1 = CFGetRetainCount((__bridge void *)b1); int rc2 = CFGetRetainCount((__bridge void *)b2); rc1, rc2 にはそ

    Xcode 4.3.2 の LLVM 3.1 コンパイラの ARC 最適化バグを踏んでしまった - むらかみの雑記帳
  • azito.com

    This domain may be for sale!

  • [iOS5] ARC : 循環参照 | Natsu note

    これまでの記事はこちら: [iOS5] ARC (Automatic Reference Counting) : Overview [iOS5] ARC : プロパティ属性と使い方 [iOS5] ARC : Outletにはweakプロパティを使おう 循環参照とは 今回は、強参照(Strong reference)を使うときに注意したい循環参照(Strong reference cycle)についてです。循環参照とは、その名の通り、2つ以上のオブジェクトが強参照し合うことにより、どちらのオブジェクトも破棄できない状態を言います。 ここで、循環参照が発生するのは、お互いに”強参照“しているときです。複数のオブジェクトが親子関係を持つ場合を考えてみます。 アドレス帳オブジェクトAddrBookと、そのエントリーEntryがあるとします。AddrBookはEntryオブジェクトのentryを、E

    [iOS5] ARC : 循環参照 | Natsu note
    monjudoh
    monjudoh 2011/11/30
    Blocksでの循環参照対策
  • ARCでめちゃモテiOSプログラマー

    This document discusses Automatic Reference Counting (ARC) in iOS. It explains how ARC manages memory by automatically retaining and releasing objects, eliminating the need for manual memory management. Key points covered include how ARC handles strong and weak references, transitioning between non-ARC and ARC code, and some tips for using ARC in practice.

    ARCでめちゃモテiOSプログラマー
  • [iOS5] ARC : プロパティ属性と使い方 | Natsu note

    strong __strong修飾子に対応するプロパティ属性です。strong属性を用いたプロパティは参照先オブジェクトのオーナーとなります。 weak __weak修飾子に対応するプロパティ属性です。__weak修飾子を持った変数と同様、weak属性のプロパティも、参照先のオブジェクトが破棄されたら自動的にnilが代入されます。weak属性を用いたプロパティはオーナーシップ権を持ちません。 weak属性は、delegateやOutletの変数に最適です。 なお、iOS 4では__weak修飾子が使えないため、プロパティのweak属性も使えません。この場合は、後述のunsafe_unretainedを使いましょう。 copy __strong修飾子に対応しますが、実際にはコピーオブジェクトが代入されます。copy属性を用いたプロパティは参照先オブジェクトのオーナーとなります。 unsafe

  • Objective-C で ARC を有効にしたプロジェクトで、一部ファイルのみ ARC を無効にする方法(その逆も) – Zero4Racer PRO Developer's Blog

    ARC便利ですね。Release, Retain を書かずに、オーナーシップ(所有権)だけを考慮して出来るのは素晴らしいです。一つ問題は、外部ライブラリを取り込む場合。自分のプログラムだったら分かる事も、人のプログラムを変えるのは面倒ですし、間違えたくないですよね。ARCは、各ファイルをコンパイルする際に有効にするものなので、部分的に無効に出来ます。その方法を簡単ですが、説明します。 ビルド設定の、Build Phaseタブの、Compile Sources 設定を開きます ファイル毎の オプション設定 ARC を有効にしたくないファイルの、コンパイルオプションに -fno-objc-arcを入力します 終わり 簡単ですね。これで、導入しているライブラリなどを、ARC無効にして使用出来ます。 追記:2012/7/13 逆に非ARCのプロジェクトで、指定ファイルだけARCを追加したい場合は、

  • ポール・グレアムの新言語「Arc」がついに登場 | スラド オープンソース

    Lisp/Scheme方面を中心に世界的に知られるハッカーであり、「ハッカーと画家」などのエッセイでも知られるポール・グレアム氏とロバート・モリス氏が設計した新しいLispの方言「Arc」が、1月30日ついに公開されたそうです(マイコミジャーナルの記事)。現在の処理系は既存のScheme処理系であるMzScheme上に実装されており、Artistic License 2.0が適用されたオープンソース・ソフトウェアとのこと。 グレアム氏がArcの開発に取り組んでいること自体はずいぶん前から知られていましたが、なかなかモノが出てこないのでやきもきしていた人も多いでしょう。今回公開されたものに関しても、グレアム氏によればまだ未完成とのことですが、それでも氏自身すでに「大抵のプログラムを書くためにはSchemeやCommon LispではなくArcを使いたいと思う」程度には使える状態になっていると

    monjudoh
    monjudoh 2008/02/01
    『Arcで書かれたら、やっぱり Arc daemon になるのかな…。』
  • (= arc (+ lisp perl)) : 404 Blog Not Found

    2008年01月31日10:30 カテゴリLightweight Languages (= arc (+ lisp perl)) な、なんですとー。 1つの言語に囲い込まれるリスク @ 2008年01月 @ ratio - rational - irrational @ IDM arcリリースおめでとう! というわけで覗いてみた。 Arc Forum | Arc Arc Forum | Installation http://ycombinator.com/arc/tut.txt ちょwww これ、Lisp Fundamentalist ほど拒絶反応強そう。でも私はちょっと萌えちゃった。 以下、Tutorialからぶっとび箇所だけぴっくあっぷ。 defvar は = まずはこれ。 arc> (= foo 13) 13 arc> foo 13 defun は def Scheme方式の(de

    (= arc (+ lisp perl)) : 404 Blog Not Found
    monjudoh
    monjudoh 2008/02/01
    Paul GrahamのLisp系新言語の紹介
  • ポール・グレアムが手がけるLisp言語Arcがまもなく公開? - YAMDAS現更新履歴

    Hacker News | Btw, will Arc ever be open-sourced?I'd love to just sudo apt-get install arc in ... ところで Arc っていつソース公開されんのよ? との質問に、「すぐだ。今年の冬には公開したい」と御大が答えている。つーことはあと一月前後ということかいな。 で、Arc のページには、公開されたときに報せてほしい人用のメールアドレスも公開されている。 『ハッカーと画家』の用語解説では、「Lispの方言。まだベーパーウェアである」と書かれていた Arc だが公開の日が見えてきたのは確からしい。 Arc については以下の文章も参考まで。 人気の言語を作るには ---Being Popular--- 百年の言語 --- The Hundred-Year Language ハッカーと画家 コンピュータ時代

    ポール・グレアムが手がけるLisp言語Arcがまもなく公開? - YAMDAS現更新履歴
    monjudoh
    monjudoh 2008/01/16
    『Arc っていつソース公開されんのよ? との質問に、「すぐだ。今年の冬には公開したい」と御大が答えている。つーことはあと一月前後ということかいな。』
  • 1