objective-cのいろいろな反復処理

31
Objective-Cの いろいろな反復処理 2014.3.12 @iOS_LT

Upload: kosuke-ogawa

Post on 28-Jun-2015

2.474 views

Category:

Technology


2 download

DESCRIPTION

2014.3.12 iOS_LT

TRANSCRIPT

Page 1: Objective-Cのいろいろな反復処理

Objective-Cの いろいろな反復処理

2014.3.12 @iOS_LT

Page 2: Objective-Cのいろいろな反復処理

•小川航佑 Kosuke Ogawa • @koogawa • 趣味と仕事の両方でiOSアプリを開発

Page 3: Objective-Cのいろいろな反復処理

コレクション (NSArray, NSDictionary, NSSet) の反復処理にはいろいろある

Page 4: Objective-Cのいろいろな反復処理

例えば

Page 5: Objective-Cのいろいろな反復処理

forループ

Page 6: Objective-Cのいろいろな反復処理

Array

Page 7: Objective-Cのいろいろな反復処理

Array

object = aobject = bobject = c

Page 8: Objective-Cのいろいろな反復処理

Dictionary

Page 9: Objective-Cのいろいろな反復処理

Dictionary

key = key2, value = val2key = key1, value = val1key = key3, value = val3

Page 10: Objective-Cのいろいろな反復処理

•インデックスにアクセスしやすい •複雑になりがち •一時変数を作る必要がある(Dictionaryの場合)

Page 11: Objective-Cのいろいろな反復処理

高速反復処理

Page 12: Objective-Cのいろいろな反復処理

Array

Page 13: Objective-Cのいろいろな反復処理

Array

object = aobject = bobject = c

Page 14: Objective-Cのいろいろな反復処理

Array

object = aobject = bobject = c

object = cobject = bobject = a

Page 15: Objective-Cのいろいろな反復処理

Dictionary

Page 16: Objective-Cのいろいろな反復処理

Dictionary

key = key2, value = val2key = key1, value = val1key = key3, value = val3

Page 17: Objective-Cのいろいろな反復処理

•シンプルに書ける •インデックスにアクセスできない(Array)

•値も必要な場合は余分なステップが必要になる(Dictionary)

Page 18: Objective-Cのいろいろな反復処理

ブロックベースの 反復処理

Page 19: Objective-Cのいろいろな反復処理

Array

Page 20: Objective-Cのいろいろな反復処理

Array

object = a, idx = 0object = b, idx = 1object = c, idx = 2

Page 21: Objective-Cのいろいろな反復処理

Array

Page 22: Objective-Cのいろいろな反復処理

Array

object = a, idx = 0

Page 23: Objective-Cのいろいろな反復処理

Dictionary

Page 24: Objective-Cのいろいろな反復処理

Dictionary

key = key2, object = val2key = key1, object = val1key = key3, object = val3

Page 25: Objective-Cのいろいろな反復処理

NSEnumerationReverse

Page 26: Objective-Cのいろいろな反復処理

NSEnumerationReverse

object = c, idx = 2object = b, idx = 1object = a, idx = 0

Page 27: Objective-Cのいろいろな反復処理

NSEnumerationReverse

Page 28: Objective-Cのいろいろな反復処理

NSEnumerationReverse

key = key2, object = val2key = key1, object = val1key = key3, object = val3

Page 29: Objective-Cのいろいろな反復処理

•インデックスにアクセスできる(Array)

•キーと値が一緒に手に入る(Dictionary)

•字数はやや増える

Page 30: Objective-Cのいろいろな反復処理

• 項目48「forループではなく、ブロックの反復処理を使う」を参考

• ¥3,200+税 • おすすめ

Effective Objective-c 2.0

Page 31: Objective-Cのいろいろな反復処理

ありがとう ございました