FoundationModern Methods      2012.5.19    Cocoa勉強会   大森智史(@oogon)
あんた、誰?
と、いうことで...
ごあいさつ
ごあいさつ• 大森智史(おおもり さとし)です。
ごあいさつ• 大森智史(おおもり さとし)です。• Objective-C書いて遊んでます。
• 印刷会社勤務
• 印刷会社勤務• 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)enumerateObjectsWi...
•   NSLinguisticTaggerOptions    - (void)enumerateTagsInRange:(NSRange)range scheme:(NSString    *)tagScheme options:(NSLi...
• ソート• sorted..., keysSorted...
•   NSArray- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr- (NSArray *)sortedArrayWithOptions:(NSSortOptions)o...
• passingTest• それぞれの項目をテストしていく
•   NSArray    - (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj,    NSUInteger idx, BOOL *stop))predicate
• indexOf• 条件に合うものを選ぶ
•   - (NSUInteger)indexOfObject:(id)obj inSortedRange:(NSRange)r    options:(NSBinarySearchingOptions)opts usingComparator...
NSRegularExpression 正規表現
•   - (void)enumerateTagsInRange:(NSRange)range scheme:(NSString    *)tagScheme options:(NSLinguisticTaggerOptions)opts   ...
NSBlockOperation
•   - (void)performSelectorInBackground:(SEL)aSelector    withObject:(id)arg
では実際の使用例を見てみましょう。
最後に
iOS4でいろいろ 増えました
iOS5では地味な改良
iOS6ではどうなるでしょうね
頑張ってドキュメント 読みましょう!
ありがとう
何か質問など?
ありがとう
Cocoa勉強会関西2012年5月
Upcoming SlideShare
Loading in …5
×

Cocoa勉強会関西2012年5月

1,497 views

Published on

Cocoa勉強会関西2012年5月19日 大森分資料です。

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,497
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Cocoa勉強会関西2012年5月

    1. 1. FoundationModern Methods 2012.5.19 Cocoa勉強会 大森智史(@oogon)
    2. 2. あんた、誰?
    3. 3. と、いうことで...
    4. 4. ごあいさつ
    5. 5. ごあいさつ• 大森智史(おおもり さとし)です。
    6. 6. ごあいさつ• 大森智史(おおもり さとし)です。• Objective-C書いて遊んでます。
    7. 7. • 印刷会社勤務
    8. 8. • 印刷会社勤務• iPhoneとかには関わってない。
    9. 9. • 印刷会社勤務• iPhoneとかには関わってない。• しかし、非接触ICカードとか売ってま す。
    10. 10. • 印刷会社勤務• iPhoneとかには関わってない。• しかし、非接触ICカードとか売ってま す。• iPhone 5でNFCとか来たらいいなあ。
    11. 11. • 印刷会社勤務• iPhoneとかには関わってない。• しかし、非接触ICカードとか売ってま す。• iPhone 5でNFCとか来たらいいなあ。• 何か案件があれば、よろしく!
    12. 12. では、本題。
    13. 13. 本日の内容
    14. 14. 本日の内容• 追加されたFoundation のメソッドをおさら いします。
    15. 15. 本日の内容• 追加されたFoundation のメソッドをおさら いします。• 使用例を眺めます。
    16. 16. 本日の内容• 追加されたFoundation のメソッドをおさら いします。• 使用例を眺めます。 スライド、サンプルは後ほどSlidShareとGithubに置きます。
    17. 17. iOSの進化の歴史
    18. 18. • iOS3.0 Predicate
    19. 19. • iOS3.2 AttributedString
    20. 20. • iOS4.0(その1) Blocks NSRegularExpression PathからURLへ
    21. 21. • iOS4.0(その2) NSCache FileWrapper
    22. 22. • iOS5.0 ARC iCloud NSFileCoordinator NSMetadataQuery... NSOrderedSet
    23. 23. 解説
    24. 24. • iOS3.0 Predicate
    25. 25. • NSPredicate Predicate 述語 SQLの式みたいなの
    26. 26. • iOS3.2 AttributedString ...属性付き文字列 今回はあまり関係ない
    27. 27. • iOS4.0 Blocks NSRegularExpression 正規表現 PathからURLへ NSCache
    28. 28. • みんな大好きBlocks• ループ回すときに使う• Timerの代わり
    29. 29. • iOS4.0 Blocks NSRegularExpression PathからURLへ NSCache
    30. 30. • NSRegularExpression• 正規表現式• 文字列の検索、置換に使うようになっ た
    31. 31. • NSDataDetector(NSRegularExpressionのサ ブクラス) 日付、時間、URLなどのチェック
    32. 32. • iOS4.0 Blocks NSRegularExpression 正規表現 PathからURLへ NSCache
    33. 33. • PathからURLへ• iCloudの影響か、Pathで指定していた ファイル参照が、URL推奨になった。
    34. 34. • iOS4.0 Blocks NSRegularExpression 正規表現 PathからURLへ NSCache
    35. 35. • NSCache• 一時的な辞書オブジェクト• 個数、サイズで上限決められる• キーも可変• スレッドセーフ
    36. 36. • iOS5.0で登場 ARC NSMetadataQuery... NSOrderedSet
    37. 37. • ARC• 直接は関係ないかな
    38. 38. • iOS5.0で登場 ARC NSMetadataQuery... NSOrderedSet
    39. 39. • NSMetadataQuery• iCloudの検索なので、直接は関係ないか な
    40. 40. • iOS5.0で登場 ARC NSMetadataQuery... NSOrderedSet
    41. 41. • NSOrderedSet• Setオブジェクトに順序がついたやつ• NSArrayから作成するときにNSArrayで の順序を継承
    42. 42. • ではどんなところで使われるのか?
    43. 43. • よく使われる• 列挙• enum....
    44. 44. • NSArray- (void)enumerateObjectsUsingBlock:(void (^)(id obj,NSUInteger idx, BOOL *stop))block- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void (^)(id obj, NSUInteger idx, BOOL*stop))block
    45. 45. • NSLinguisticTaggerOptions - (void)enumerateTagsInRange:(NSRange)range scheme:(NSString *)tagScheme options:(NSLinguisticTaggerOptions)opts usingBlock:(void (^)(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop))block
    46. 46. • ソート• sorted..., keysSorted...
    47. 47. • NSArray- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr- (NSArray *)sortedArrayWithOptions:(NSSortOptions)optsusingComparator:(NSComparator)cmptr- (NSArray *)sortedArrayUsingDescriptors:(NSArray*)sortDescriptors;
    48. 48. • passingTest• それぞれの項目をテストしていく
    49. 49. • NSArray - (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
    50. 50. • indexOf• 条件に合うものを選ぶ
    51. 51. • - (NSUInteger)indexOfObject:(id)obj inSortedRange:(NSRange)r options:(NSBinarySearchingOptions)opts usingComparator: (NSComparator)cmp
    52. 52. NSRegularExpression 正規表現
    53. 53. • - (void)enumerateTagsInRange:(NSRange)range scheme:(NSString *)tagScheme options:(NSLinguisticTaggerOptions)opts usingBlock:(void (^)(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop))block
    54. 54. NSBlockOperation
    55. 55. • - (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg
    56. 56. では実際の使用例を見てみましょう。
    57. 57. 最後に
    58. 58. iOS4でいろいろ 増えました
    59. 59. iOS5では地味な改良
    60. 60. iOS6ではどうなるでしょうね
    61. 61. 頑張ってドキュメント 読みましょう!
    62. 62. ありがとう
    63. 63. 何か質問など?
    64. 64. ありがとう

    ×