[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開発本] オライリー iPhoneアプリケーション開発ガイド 感想その1
面白そうだったので発売日に買ってみた。1995円と安いのもすばらしい。 しかしタイトルは一ひねりした
-
-
App Storeでのアプリ最低価格が突然115円から85円に 2011/07/14
App Storeでのアプリ最低価格が突然日本時間2011/07/14(木)未明に115円から85円
-
-
iPhoneアプリ おんぷちゃんアップデート 2010年6月
ユーザレビューなどで複数の方から要望があった機能に対応してみました。 以下、その説明です。 これま
-
-
Apple Event 2016秋 See you on the 7th
2016秋のApple Eventは 2016/09/07(日本時間 9/8 2:00)に行われた。
-
-
コードちゃん 1.0.3 アップデート
コード学習アプリ コードちゃん 1.0.3をアップデートしました。ダイアトニックコードの Bmb5
-
-
[iOS SDK] EverLearn 3Dタッチ対応
iPhone 7 Plus を購入したので、まずは EverLearn から、3Dタッチの対応を行い
-
-
[iPhone 開発関連本] SQLite入門 第2版 西沢直木
SQLite はそれなりにクセがあるらしく、今までに入手した知識とFMDBのソースコードだけ(FMD
-
-
Apple Event 2021.04
今回はちょっと驚いた。最近リークが少なくて良き。もしくは自分がSNSから離れているのもある
-
-
謎のエラー iPhone/iPod Touch: application executable is missing a required architecture
リズムくん Ver.1.1の App Store への Submit の際に、謎のエラー iPhon


説明が下手だと思う。
iPhoneアプリ開発で初めてObjective-C触る人に勧めたい