Your SlideShare is downloading. ×
いまさら NSArray
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

いまさら NSArray

625
views

Published on

Cocoa 勉強会関西での発表資料です。

Cocoa 勉強会関西での発表資料です。

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
625
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. いまさら NSArray かねうちてつや Cocoa勉強会関西 2013.12.14
  • 2. NSArray • Foundation のコレクションクラスのひとつ • インデックス付きでオブジェクトを格納 • クラスクラスタを構成 • 関連: NSMutableArray, NSSet
  • 3. クラスクラスタ • NSArray そのものは抽象クラス • イニシャライザが具象サブクラスのインスタンスを生成 • 具象サブクラスは非公開 • サブクラス化できる設計になっている
  • 4. NSArray のサブクラス • count と objectAtIndex: をオーバーライドすれば完成 • 好きなデータに NSArray インタフェースでアクセス • 他のオブジェクト、ファイルシステム、データベース… • 必ずしもデータをメモリに置かなくてもよい
  • 5. NSArray ビュー • もともとは NSArray になっていないデータに NSArray としてアクセスできるようにする • 元のデータが変更されるとビューにも反映される • NSArray は多くのフレームワークで充実したサポートが あるので利用用途が広い • NSSet ビューとかも考えられる
  • 6. NSArray ビューの例 • 別の NSArray の逆順に並んでいる NSArray ビュー • 2 つの NSArray を連結した NSArray ビュー • 文字列の1文字ずつを要素として持つ NSArray ビュー
  • 7. Demo
  • 8. NSArray のプロパティ • あるオブジェクトが持つコレクションへのアクセスを外部に提 供したい • NSMutableArray を返してしまうと、オブジェクト外から変 更される可能性があってヤダ • • • そもそも NSArray じゃないんだけど コレクションの中身を lazy に初期化したい immutable な NSArray ビューを返しましょう!
  • 9. KVC と NSArray • サブクラスを作らなくても NSArray ビューを返せる • • • - (NSUInteger)countOfElements - (id)objectInElementsAtIndex:(NSUInteger)index; [obj valueForKey:@“elements”]
  • 10. Demo
  • 11. まとめ • NSArray のサブクラスは簡単に作れる • NSArray ビューはいろいろ用途があって楽しい • KVC でサブクラスなしで NSArray ビューを公開できる • KVC で NSSet や mutable コレクションも返せる
  • 12. 参考 • NSArray Class Reference • Key-Value Coding Programming Guide • Key-Value Coding Accessor Methods