[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 おすすめ平均 |
関連記事
-
-
AirMac Extreme Base Station がほしい 2011/05/07
自宅の無線LANルータが不安定なので、AirMac Extremeを買おうかと悩み中。 自宅にApp
-
-
iPad 発売 2010/04/03
日本時間4/3 17:00あたりに、Appleから iPad is here. メールが来てい
-
-
#WWDC21の勉強メモ 購入
https://note.com/shu223/m/m1432c132b9b4 今年も sh
-
-
[iPhone SDK] Apple Push Notification を利用したアプリをサポートする Easy APNS
以前 apns-php を使ってApple Push Notification を実行する話を書いた
-
-
[iOS8] BlocksKit で不具合発生
iOS8 にアップデートしたところ、BlocksKit の UIAlertView と UI
-
-
iOS9から[NSLocale preferredLanguages] の出力が変更された
以前ツイートした内容を自分で忘れていて検索する羽目になったのでブログにも書いておく。iOS9から、
-
-
Flurryでアプリ利用状況解析
ブログには書く機会がなかったが、昔からアプリで Flurry をアプリに組み込んで、利用状
-
-
[IOS] iOS オープンソースライブラリ徹底活用 菊田剛著 秀和システム
ふらっと家の近くの書店に寄ったところたまたま発見した本。 最近発売されたようだ。 21章で69
-
-
TestFlight を使ったベータテストについて
アプリのベータテストにご協力いただきありがとうございます。ベータテストには、AppleのTestFl
-
-
FlashAir W-03活用開始
ようやく休みになったので、FlashAir W-03を活用してみることにした。まずは、iOSから使え