[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 おすすめ平均 |
関連記事
-
-
GoodNotes5使いこなし
iPad Pro 12.9インチを購入した 理由の一つである、Apple Pencil
-
-
Apple Special Event 2012
2012年は下記が発表された。 iPhone 5iPod touchiPod nano
-
-
iOSアプリの Ad Hoc 配布の悪夢から解放される TestFlight
面倒だった Adhoc 版のやりとりを格段に楽にしてくれる TestFlight | つくる社LL
-
-
iPhone OS 3.0 GM Seed vs Final version
iPhone OS 3.0 が6月18日(木)より公開されているが、自分はiPhone Develo
-
-
さくらのVPSにRedmine+Subversionを入れてみた
一応個人ソースコード管理にはAssemblaを使っていたが、いつ有料になるか分からないし自分でサーバ
-
-
Apple Special Event 2014
https://japanese.engadget.com/2014/09/09/9-9/
-
-
コードちゃん 1.1.0 で五度圏学習機能をサポート → 新アプリに分離しました
お知らせ ほとんど使われていないのと、1.2.0でコード進行問題を追加したため、1.2.0
-
-
iPhone OS 4.0 のマルチタスク対応
iPhone OS 4.0 でマルチタスク対応される、ということでWindowsやMacOS Xの
-
-
[iPhone 開発本] Objective-C 逆引きハンドブック
854ページの大著。C&R研究所というところから出版されている。ページはこちら。目次はこちら
-
-
MacPeople は2014年10月号からスマホアプリ開発者向け雑誌に?
。 最近 MacPeople の記事がずいぶんアプリ開発者寄りだなと思っていたところ、2014