[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アプリ おんぷちゃんアップデート 2010年6月
ユーザレビューなどで複数の方から要望があった機能に対応してみました。 以下、その説明です。 これま
-
-
EverLearn 1.8.1 を公開しました
EverLearn 1.8.1 を本日公開しました (2016/10/27)単語検索ページで単語をハ
-
-
EverLearn 1.3.0 をリリースしました
EverLearn 1.3.0 をリリースしました。(2013/10/25 公開) これまでの成績
-
-
The file XXX couldn’t be opened because you don’t have permission to view it.
The file XXX couldn't be opened because you d
-
-
[おんぷちゃん] おんぷちゃん for iPad ver.1.2 鍵盤に音名を表示
かなり久しぶりにおんぷちゃん for iPad を更新。今回でバージョン1.2になります。 おんぷち
-
-
Apple に Bug Report を送信、iOS 11.3で修正された
EverLearnのユーザの方から、toothache の発音がおかしいので直してほしいという依頼が
-
-
[iOS SDK] 物書堂の辞書アプリと連携してみた
物書堂は使い勝手のよい辞書アプリをたくさんリリースしている会社だ。 今作っている英単語学習アプリで
-
-
Parse から Heroku, AWSへの移行ガイド
2017年1月28日にParseのサービスが終了するという衝撃的なニュース(Moving On)
-
-
iPhone SDK アプリケーション開発ガイド
iPhone SDK アプリケーション開発ガイド(原題 iPhone SDK Application
-
-
iPhone Developer Program Activation 完了
iPhone Developer ProgramのActivationの件。 木曜日の夜にメールを出