[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

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

記事を読む

no image

[iPhone SDK] Apple Push Notification を利用したアプリをサポートする Easy APNS

以前 apns-php を使ってApple Push Notification を実行する話を書いた

記事を読む

[iOS8] BlocksKit で不具合発生

iOS8 にアップデートしたところ、BlocksKit の UIAlertView と UI

記事を読む

iOS9から[NSLocale preferredLanguages] の出力が変更された

以前ツイートした内容を自分で忘れていて検索する羽目になったのでブログにも書いておく。iOS9から、

記事を読む

Flurryでアプリ利用状況解析

ブログには書く機会がなかったが、昔からアプリで Flurry をアプリに組み込んで、利用状

記事を読む

no image

[IOS] iOS オープンソースライブラリ徹底活用 菊田剛著 秀和システム

ふらっと家の近くの書店に寄ったところたまたま発見した本。 最近発売されたようだ。 21章で69

記事を読む

TestFlight を使ったベータテストについて

アプリのベータテストにご協力いただきありがとうございます。ベータテストには、AppleのTestFl

記事を読む

FlashAir W-03活用開始

ようやく休みになったので、FlashAir W-03を活用してみることにした。まずは、iOSから使え

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

→もっと見る

PAGE TOP ↑