【勉強】Objective-Cプログラミング言語(その3)


前回に引き続き、アップル純正の「Objective-Cプログラミング言語」を使った勉強です。
http://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.pdf

目次は以下です(再掲)。

序 章 はじめに
第 1章 オブジェクト、クラス、メッセージ
第 2章 クラスの定義
第 3章 オブジェクトの割り当てと初期化
第 4章 プロトコル
第 5章 宣言済みプロパティ
第 6章 カテゴリと拡張
第 7章 関連参照
第 8章 高速列挙
第 9章 静的な動作の実現
第10章 セレクタ
第11章 例外処理
第12章 スレッド化


今回は第 4章、第 5章を読みました。
印象的だったところを書き出してみます。

正直、「第 4章 プロトコル」についてはよく分かりませんでした。
現時点ではまだ理解ができる内容ではないようです。
今後、勉強とアプリ開発を進めていってより知識がついてからもう一度読みなおしてみたいと思います。
今完全に理解する必要はないですからね。
むしろ継続して勉強することが大切ですから。

書き込み可能性(75ページより)

readwrite
プロパティを読み取り/書き込み可能として扱うべきであることを示します。この属性はデ フォルトです。
@implementationブロックではgetterとsetterの両方のメソッドが必須です。実装ブロックで @synthesizeディレクティブを使う場合は、getterメソッドとsetterメソッドが合成されます。

readonly
プロパティが読み取り専用であることを示します。
readonlyを指定する場合、@implementationブロックではgetterメソッドだけが必須です。 実装ブロックで@synthesizeディレクティブを使う場合は、getterメソッドだけが合成されま す。また、ドット構文を使って値を代入しようとすると、コンパイラエラーが発生します。


プロパティについてはVisual Basic、Visual C#でよく使っています。
どうやらObjective-Cではwriteonlyのプロパティはないようです。
プロパティはあるクラスから他のクラスに値を渡すために使うものです。
そのクラス内ではどのように処理が行われるかは詳細は知らないくていい(カプセル化)わけなので
readonlyだけでなく、writeonlyもあった方が間違えてプロパティ値を書き換えたりしなくて済むので便利だと思うのですが仕方ないですね。

以上いろいろと勉強になりました。基礎は大切ですね。

まあ、このアップル純正の「Objective-Cプログラミング言語」はあくまでプログラムの概念を説明するものです。
他の言語を知っている人がその言語とObjective-Cがどのように概念的に違うかということを知る場合はよい教科書ですが、全く言語を知らない状況で読んでもつらいと思います。。。
また、この教科書を完璧にしてもiPhoneアプリ開発でボタンの配置のすらできません。

あくまで概念のみのものです。

Objective-Cについて実用面を磨いていきたい場合は書籍を読まれることをお勧めします。
例えば、てぃーも持っている「XcodeによるObjective-C入門」がいいですね。

XcodeによるObjective-C入門XcodeによるObjective-C入門
(2010/01/23)
大津 真

商品詳細を見る


また、最近はObjective-Cについての本もたくさんでているのでネットで気に入ったものを買われるのがいいと思います。
てぃーもこの前書店で立ち読みしてみましたが、次の本は質がよく、近いうちに購入して挑戦しようと思っています。
勉強あるのみですね!!

詳解 Objective-C 2.0 改訂版詳解 Objective-C 2.0 改訂版
(2010/12/17)
荻原 剛志

商品詳細を見る


世界一わかりやすいObjective‐Cプログラミングの授業世界一わかりやすいObjective‐Cプログラミングの授業
(2011/01)
Lepton

商品詳細を見る



↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
関連記事

コメントの投稿

非公開コメント

writeonlyのプロパティ

>プロパティはあるクラスから他のクラスに値を渡すために使うものです。
特定言語に拘らない一般的な意味でならそれは違います。
外から読めないのもを普通、属性(プロパティ)とは言いません。

オブジェクト間で値を渡す為に使うだけに使うものはセットメソッドとかセッターとかは言いますがプロパティとは言いません。
synthesizeさせずに明示的にセッターだけを書けば実質writeonlyになりますが、他人が見たら混乱するだけですし、グループ開発では受け入れられないでしょう。
そういう時にはプロパティにせずにセットメソッドを書きましょう。

まぁ…個人開発でどんなコードを書こうが勝手ではありますが。
プロフィール

てぃー

Author:てぃー
詳しい自己紹介:こちら
Twitter:@teapipin


follow us in feedly 
にほんブログ村 IT技術ブログへ にほんブログ村 PC家電ブログへ
現在の閲覧者数:

ブログ内検索
今日のアクセス数の多い記事
カレンダー

08月 | 2017年09月 | 10月
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
過去記事ダイジェスト
お知らせ
ツイッター分析の分析結果が新潟大学教育学部の論文に引用
教育の実証研究の場でも高く評価!

ツイッター分析の分析結果が和歌山大学防災研究教育センターの論文に引用
防災の研究において評価!

2015年版ツイッター分析(世界編)が始動!
今回は世界の国別・言語別ツイートを分析!

ツイッター分析の分析結果が慶應義塾大学有名教授の研究論文などに引用
文系の研究までも制覇!

Interval Timer EX
有名雑誌「Mac Fan 2015月2月号」に「インターバルタイマーEX」が3度目の掲載!ポモドーロテクニックに有効!

自作Macアプリ3部作が2014年 Vector 年間ダウンロードランキング Mac トップ100にすべてランクイン

TimeCalcを公開しています!
時間計算、年齢計算、学歴欄作成など。

ツイッター分析の分析結果が人工知能の研究に!
ブログが学会発表で引用されました。

今まで開発したiPhoneアプリのソースコードを公開しています!
勉強に役立ててください。


2013年 Vector 年間ダウンロードランキング Mac トップ100に「デジカメ変更日を撮影日に一括変更 for Mac」と「インターバルタイマーEX」がランクイン

Interval Timer EX
有名雑誌「Mac Fan 2013月4月号」に「インターバルタイマーEX」が2度目の掲載!!

リアルタイムツイッター地図
リアルタイムツイッター地図を公開しています!
位置情報付きツイートをリアルタイムに表示します。

新たなツイッター分析としてイベントツイート分析を行っています!

2012年8月1日(水)開催の「Twitter勉強会」で発表
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack from teapipin


Interval Timer EX
有名雑誌「Mac Fan 2012月3月号」に「インターバルタイマーEX」が掲載!!



 

はてなブックマークの人気記事
ツイート&いいね!ランキング