[iPhone SDK] Objective-C 2.0 のプロパティ

公開日: : 最終更新日:2010/08/08 iPad, iPhone ,

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
詳解 Objective-C 2.0 荻原 剛志

ソフトバンククリエイティブ 2008-05-28
売り上げランキング : 2361

おすすめ平均 star
star説明が下手だと思う。
stariPhoneアプリ開発で初めてObjective-C触る人に勧めたい
star常に手元にあるべき本

Amazonで詳しく見る by G-Tools

関連記事

no image

Invalid Signature で App Store に Submit できず

無料版と有料版を同じソースからビルドできるようにしようと思いいろいろ試行錯誤を続けている。 ついにビ

記事を読む

no image

Apple iPod touch 第4世代 8GB MC540J/A 注文

Retinaディスプレイとジャイロセンサーを使ってみたかったので、数時間迷った末 Appleのオンラ

記事を読む

EverLearn Ver.1.6 を公開しました。今回はiPhone6 Plus 対応+英英辞書追加

残念ながらあまり売れていないiPhoneアプリ EverLearn ですが、自分的には毎日使っている

記事を読む

no image

[iPhone 開発本] iPhone/iPadゲーム開発ガイド ―Objective-Cで作る2D/3Dゲーム

今年の4月にオライリーのiPhoneゲーム開発本 iPhone Game Development (

記事を読む

no image

さくらのVPSにRedmine+Subversionを入れてみた

一応個人ソースコード管理にはAssemblaを使っていたが、いつ有料になるか分からないし自分でサーバ

記事を読む

[iPhone6plus] 買うかかなり悩み中

9/19 に発売されてからiPhone6Plusを買おうか、買うならいつ買おうか、キャリアは

記事を読む

no image

タッチ!にほんちずHD Ver.1.1.0 Submit

タッチ!にほんちずHDのバージョンアップ版(Ver.1.1.0)を App Store に提出しまし

記事を読む

heroku Cedar-10からCedar-14に引越し

2015/11/04 に Cedar-10 stack が終了となる連絡が heroku からきたの

記事を読む

no image

iPhoneアプリビジネス本 The Business of iPhone App Development

iPhoneアプリを売るための情報が詰まった本。 ここまでやるか、というくらいの情報が詰まっている。

記事を読む

no image

iPhoneアプリの無料版と有料版を同じソースから作りたい

こども向けに作った自作アプリおんぷちゃんは、習作でもあったのでiPhone無料版、iPhone有料版

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

[Xcode] Interface Builder でControl+ドラッグでOutletが作成できない

たまにInterface Builder でUI作っているとはまるの

Ember Mug用のふたを買ってみた

Ember Mug Lid 2022年あけましておめでとうござ

Google Search Console の利用を開始してみた

YouTube DATA API (iOS Quickstart  

Xcode 13.1 アップデート

Apple、統合開発環境「Xcode 13.1」をリリース:Code

watchOS8 アップデート内容

この前購入した Apple Watch SE は watchOS 7

→もっと見る

PAGE TOP ↑