Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Swiftのプロパティオブザーバを使い倒す

2,932 views

Published on

第6回Swift勉強会の発表資料です。
https://atnd.org/events/61498

Published in: Software

Swiftのプロパティオブザーバを使い倒す

  1. 1. プロパティ・オブザーバを使い倒す デジタルサーカス(株)⻑⾧長⾕谷川智希
  2. 2. ⾃自⼰己紹介 ⻑⾧長⾕谷川智希 / デジタルサーカス(株) 副団⻑⾧長CTO と も き @tomzoh
 とむぞう iOS Swift Coming Soon 開発系趣味 その他趣味 iOSアプリ開発, Web開発 趣味のプログラム レンタルカートレース, 電⼦子⼯工作(mbed), …
  3. 3. デジタルサーカス(株) ・ Webサイト受託開発 ・ スマホアプリ受託開発 ・ ⾃自社サービス (PHP, Drupal, CakePHP) (iOS, Android) (http://appbuilder.jp) Twitter: @tomzoh
  4. 4. Twitter: @tomzoh Yo: TOMZOH
  5. 5. 今⽇日のテーマ: プロパティ・オブザーバ を使い倒す
  6. 6. プロパティ・オブザーバ
  7. 7. “Property  observers  observe  and  respond  to   changes  in  a  property’s  value.  Property   observers  are  called  every  time  a  property’s   value  is  set,  even  if  the  new  value  is  the  same  as   the  property’s  current  value.” Apple  Inc.  “The  Swift  Programming  Language”
  8. 8. セルのインスタンスを作って…
  9. 9. セルのインスタンスを作って… そのインスタンスにデータを設定する
  10. 10. プロパティ・オブザーバを使うと、 コレをキレイに書ける。
  11. 11. 1. Swiftのプロパティ 2. コンピューテッド・プロパティ 3. プロパティ・オブザーバ 解説の流流れ
  12. 12. 1. Swiftのプロパティ
  13. 13. Swiftのプロパティ
  14. 14. Swiftのプロパティ ストアドプロパティ 値を格納するプロパティ
  15. 15. Swiftのプロパティ ストアドプロパティ 値を格納するプロパティ
  16. 16. Swiftのプロパティ コンピューテッド・プロパティ 値を計算するプロパティ
  17. 17. Swiftのプロパティ コンピューテッド・プロパティ 値を計算するプロパティ
  18. 18. 2. コンピューテッド・プロパティ
  19. 19. ゲッターとセッター
  20. 20. ゲッターとセッター ゲッター プロパティを参照した時に実⾏行行さ れる。プロパティの型の値を返す。 必須。
  21. 21. ゲッターとセッター ゲッター セッター プロパティを参照した時に実⾏行行さ れる。プロパティの型の値を返す。 必須。 プロパティに値を設定した時に実 ⾏行行される。値を返さない。任意。
  22. 22. コンピューテッド・プロパティ使⽤用例例
  23. 23. コンピューテッド・プロパティ使⽤用例例 ゲッター 左上とサイズから中⼼心の座 標を計算して返す。
  24. 24. コンピューテッド・プロパティ使⽤用例例 ゲッター セッター 左上とサイズから中⼼心の座 標を計算して返す。 中⼼心の座標を受け取って 左上の座標を更更新する。
  25. 25. 3. プロパティ・オブザーバ
  26. 26. Viewを表⽰示する前に実⾏行行
  27. 27. Viewを表⽰示する前に実⾏行行 Viewを表⽰示した後に実⾏行行
  28. 28. プロパティ・オブザーバはこれのプロパティ版 みたいな感じ。
  29. 29. プロパティ・オブザーバの実装
  30. 30. プロパティ・オブザーバの実装
  31. 31. プロパティ・オブザーバの実装 基本的にはストアド・プロパティ
  32. 32. プロパティ・オブザーバの実装 プロパティに値をセットする前に実⾏行行される。 newValueにこれからセットする値が渡される。
  33. 33. プロパティ・オブザーバの実装 プロパティに値をセットした後に実⾏行行される。 oldValueに元の値が渡される。
  34. 34. プロパティ・オブザーバの活⽤用例例
  35. 35. プロパティ・オブザーバの活⽤用例例
  36. 36. プロパティに値をセットすると…
  37. 37. プロパティに値をセットすると… セルに値が設定される
  38. 38. こんな⾵風に書いてた 値を格納するためのプロパティ _shop を宣⾔言しておいて、setShop(shop:), getShop() -> Shopを使って値を設 定、取得する。
  39. 39. こんな⾵風に書いてた 値を格納するためのプロパティ _shop を宣⾔言しておいて、setShop(shop:), getShop() -> Shopを使って値を設 定、取得する。 こんな⾵風に書ける! 値を格納するためのプロパティ shop とその振る舞いを宣⾔言するだけ。 値を参照したければ普通にプロパ ティとして参照すれば良良い。
  40. 40. 使い倒そう! プロパティ・オブザーバ!
  41. 41. Enjoy Swift!!
  42. 42. ありがとうございました。 @tomzoh

×