[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 おすすめ平均 |
関連記事
-
-
iPhone 4S は Bluetooth 4.0 採用。G-SHOCK GB-6900 が使えるとよいのだが
アップル - iPhone - 比較 によると確かに iPhone 4S から Bluetooth
-
-
[iOS開発本] 詳解 iOS5 プログラミング の感想
書店で見かけて久しぶりに即買いしたiOS開発本。 今日ようやくざっと読めて、予想以上におもしろかった
-
-
iPhone Dev Center が We’ll be back soon.
iPhone Dev Centerが昨日からずっとメンテナンス中。もうすぐ1日経つと思うけどいつま
-
-
dyld`__abort_with_payload:でクラッシュ WatchKitApp on Xcode11.1
Xcode 11.0 や Xcode11.1で以前はビルドして実行できていたWatchKi
-
-
安くなったPFUのSnapLiteを買ってみた
昔からほしかったが高くて手が出なかったPFUのSnapLiteが2018年3月に販売終了になったらし
-
-
iPhone 6 Plus iSight カメラ交換プログラムに行ってきた
iPhone 6 Plus iSight カメラ交換プログラム - Apple サポート の発表があ
-
-
App Store のスクリーンショットの解像度がいつの間にか変更されている
2ヶ月ぶり位で App Store にアップデートをSubmitしようとしたところ、アップデート
-
-
WWDC にひとりで参加する人向け情報
WWDC 2011 に行ってきたの続編。 自費で1人で参加したのだけれども、当時あまりそういう人向
-
-
4年ぶりにLogLocationsをアップデート
4年ぶりにLogLocationsのアップデート版を作成中。3年間更新していなかったので、画面がフラ
-
-
セブンイレブンでiPhoneから写真プリント
今は事前登録なしにセブンイレブンでiPhoneからプリントが行えるけれども、店の人もわかって