[iPhone SDK] Objective-C 2.0 のプロパティ
Objective-Cのプロパティで時々はまるので、メモ。(詳解 Objective-C 2.0 P.295)
プロパティに代入をすると、オプションに応じて実際は内部ではこのようなことが行われている。
しかしこれはあくまで概念で、このままのコードがどこかに生成されているわけではないらしい。なので、この内部にブレークポイントを張ったりはできない。
@propertyのオプションが assign だった場合
-(void)setName:(TYPE)obj { name = obj; }
@propertyのオプションが retain だった場合
-(void)setName:(TYPE)obj { if(name != obj) { [name release]; name = [obj retain]; } }
@propertyのオプションが copy だった場合
-(void)setName:(TYPE)obj { if(name != obj) { [name release]; name = [obj copy]; } }
Objective-C では、nil にメッセージを送っても何も起きない(落ちたりしない)ので、name が nil だった場合 nil に release が送られてしまうが、問題がない。(詳解Objective-C 2.0 P.62)
詳解 Objective-C 2.0 | |
![]() |
荻原 剛志
ソフトバンククリエイティブ 2008-05-28 おすすめ平均 |
関連記事
-
-
App Annie App Store 連携失敗
App Annie の App Store 連携機能を使って、日々のストアの売り上げをメールで受け
-
-
LogLocations 1.4.0 写真表示対応
行動ログは取りたいが、何も操作したくない。という自分のようなずぼらなログ好きユーザ向けのアプリ、L
-
-
iPhoneアプリ おんぷちゃん開発日記 ボタン表示の複数言語対応
そろそろiPhone OS 4 beta 3の開発環境に移行しようと思っているのだが、環境を移行して
-
-
iPad 12.9インチでも安定するタブレットスタンド
iPad Pro 12.9インチを買ったが、かなり大きく机の上で場所を取るので、スタンドを買ってみ
-
-
省メモリプログラミング
昔買った「省メモリプログラミング」を読み返してみたら、Objective-Cで採用している参照カウン
-
-
LogLocations 1.3.2 をリリースしました
LogLocations 1.3.2をリリースしました。審査後、近日中に公開されます。下記のレビュー
-
-
iPhone SDK開発のネタ帳 Observerパターン
Head First デザインパターンでも2番目に紹介されているObserverパターン。使用頻度も
-
-
iPad Air 2 OpenAL再生でプチノイズ発生(更新あり)
新アプリが動き始めたので、TestFlightを利用してベータテストを行っている。自分のiPad2や
-
-
iPadアプリ第2弾 タッチ!にほんちずHD 公開
自分の娘用アプリ第2弾が今朝2011/06/17公開されました。 今回は日本地図を学習するアプ
-
-
[iPhone6 Plus] はじめて保護ガラスを貼ってみた JTT Online Glass Protector
会社の知り合いが色をまちがって購入したということで、iPhone6 Plus 用保護ガラスを