SlideShare a Scribd company logo
Foundation
Modern Methods
      2012.5.19

    Cocoa勉強会
   大森智史(@oogon)
あんた、誰?
と、いうことで...
ごあいさつ
ごあいさつ


• 大森智史(おおもり さとし)です。
ごあいさつ


• 大森智史(おおもり さとし)です。
• Objective-C書いて遊んでます。
Cocoa勉強会関西2012年5月
• 印刷会社勤務
• 印刷会社勤務
• iPhoneとかには関わってない。
• 印刷会社勤務
• iPhoneとかには関わってない。
• しかし、非接触ICカードとか売ってま
 す。
• 印刷会社勤務
• iPhoneとかには関わってない。
• しかし、非接触ICカードとか売ってま
 す。

• iPhone 5でNFCとか来たらいいなあ。
• 印刷会社勤務
• iPhoneとかには関わってない。
• しかし、非接触ICカードとか売ってま
 す。

• iPhone 5でNFCとか来たらいいなあ。
• 何か案件があれば、よろしく!
では、本題。
本日の内容
本日の内容
• 追加されたFoundation のメソッドをおさら
 いします。
本日の内容
• 追加されたFoundation のメソッドをおさら
 いします。

• 使用例を眺めます。
本日の内容
• 追加されたFoundation のメソッドをおさら
 いします。

• 使用例を眺めます。
 スライド、サンプルは後ほどSlidShareとGithubに置きます。
iOSの進化の歴史
• iOS3.0
  Predicate
• iOS3.2
  AttributedString
• iOS4.0(その1)
 Blocks

 NSRegularExpression

 PathからURLへ
• iOS4.0(その2)
 NSCache

 FileWrapper
• iOS5.0
  ARC

  iCloud NSFileCoordinator

  NSMetadataQuery...

  NSOrderedSet
解説
• iOS3.0
  Predicate
• NSPredicate
  Predicate 述語 SQLの式みたいなの
• iOS3.2
  AttributedString ...属性付き文字列

  今回はあまり関係ない
• iOS4.0
  Blocks

  NSRegularExpression 正規表現

  PathからURLへ

  NSCache
• みんな大好きBlocks
• ループ回すときに使う
• Timerの代わり
• iOS4.0
  Blocks

  NSRegularExpression

  PathからURLへ

  NSCache
• NSRegularExpression
• 正規表現式
• 文字列の検索、置換に使うようになっ
  た
• NSDataDetector(NSRegularExpressionのサ
  ブクラス)

  日付、時間、URLなどのチェック
• iOS4.0
  Blocks

  NSRegularExpression 正規表現

  PathからURLへ

  NSCache
• PathからURLへ
• iCloudの影響か、Pathで指定していた
 ファイル参照が、URL推奨になった。
• iOS4.0
  Blocks

  NSRegularExpression 正規表現

  PathからURLへ

  NSCache
• NSCache
• 一時的な辞書オブジェクト
• 個数、サイズで上限決められる
• キーも可変
• スレッドセーフ
• iOS5.0で登場
 ARC

 NSMetadataQuery...

 NSOrderedSet
• ARC
• 直接は関係ないかな
• iOS5.0で登場
 ARC

 NSMetadataQuery...

 NSOrderedSet
• NSMetadataQuery
• iCloudの検索なので、直接は関係ないか
 な
• iOS5.0で登場
 ARC

 NSMetadataQuery...

 NSOrderedSet
• NSOrderedSet
• Setオブジェクトに順序がついたやつ
• NSArrayから作成するときにNSArrayで
 の順序を継承
• ではどんなところで使われるのか?
• よく使われる
• 列挙
• enum....
•   NSArray


- (void)enumerateObjectsUsingBlock:(void (^)(id obj,
NSUInteger idx, BOOL *stop))block


- (void)enumerateObjectsWithOptions:
(NSEnumerationOptions)opts
       usingBlock:(void (^)(id obj, NSUInteger idx, BOOL
*stop))block
•   NSLinguisticTaggerOptions


    - (void)enumerateTagsInRange:(NSRange)range scheme:(NSString
    *)tagScheme options:(NSLinguisticTaggerOptions)opts
    usingBlock:(void (^)(NSString *tag, NSRange tokenRange,
    NSRange sentenceRange, BOOL *stop))block
• ソート
• sorted..., keysSorted...
•   NSArray


- (NSArray *)sortedArrayUsingComparator:
(NSComparator)cmptr


- (NSArray *)sortedArrayWithOptions:(NSSortOptions)opts
usingComparator:(NSComparator)cmptr


- (NSArray *)sortedArrayUsingDescriptors:(NSArray
*)sortDescriptors;
• passingTest
• それぞれの項目をテストしていく
•   NSArray


    - (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj,
    NSUInteger idx, BOOL *stop))predicate
• indexOf
• 条件に合うものを選ぶ
•   - (NSUInteger)indexOfObject:(id)obj inSortedRange:(NSRange)r
    options:(NSBinarySearchingOptions)opts usingComparator:
    (NSComparator)cmp
NSRegularExpression 正規表現
•   - (void)enumerateTagsInRange:(NSRange)range scheme:(NSString
    *)tagScheme options:(NSLinguisticTaggerOptions)opts
    usingBlock:(void (^)(NSString *tag, NSRange tokenRange,
    NSRange sentenceRange, BOOL *stop))block
NSBlockOperation
•   - (void)performSelectorInBackground:(SEL)aSelector
    withObject:(id)arg
では実際の使用例を
見てみましょう。
最後に
iOS4でいろいろ
 増えました
iOS5では地味な改良
iOS6では
どうなるでしょうね
頑張ってドキュメント
 読みましょう!
ありがとう
何か質問など?
ありがとう

More Related Content

PDF
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
PDF
Introduction of SQL Anti-pattern at Phpcon Hokkaido
PDF
プロジェクトでRubocopを使って自動コードレビューしてみた話
PDF
Sävsjöapp presentation
KEY
Cocoa勉強会201203公開
PDF
情報セキュリティCAS 第四十二回放送用スライド
PDF
JavaOne2014_LT
KEY
cocos2d ☓ OpenOffice
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Introduction of SQL Anti-pattern at Phpcon Hokkaido
プロジェクトでRubocopを使って自動コードレビューしてみた話
Sävsjöapp presentation
Cocoa勉強会201203公開
情報セキュリティCAS 第四十二回放送用スライド
JavaOne2014_LT
cocos2d ☓ OpenOffice

More from Satoshi Oomori (8)

PDF
Cocoa勉強会20140621 macとiosで共通のコード
PDF
Cocoa勉強会20140419ゲームをつくってみる
PDF
Word net cocoa勉強会201306
PDF
Scene kit cocoa勉強会201306
PDF
Cocoa勉強会ビギナーズramディスクとコマンドファイル
PPT
Cocoa勉強会201302
KEY
Cocoa勉強会201208
PDF
Cocoa勉強会2011年11月
Cocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140419ゲームをつくってみる
Word net cocoa勉強会201306
Scene kit cocoa勉強会201306
Cocoa勉強会ビギナーズramディスクとコマンドファイル
Cocoa勉強会201302
Cocoa勉強会201208
Cocoa勉強会2011年11月
Ad

Recently uploaded (17)

PDF
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PDF
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
PDF
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
PDF
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PDF
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
PDF
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
PDF
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
PDF
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
PDF
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
PDF
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
PDF
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
PDF
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PDF
My Inspire High Award 2024(岡田秀幸).pptx.pdf
PDF
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
PDF
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
PDF
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PPTX
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
My Inspire High Award 2024(岡田秀幸).pptx.pdf
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
Ad

Cocoa勉強会関西2012年5月

Editor's Notes