More Related Content Similar to 今のうちに知っておきたい Swiftの高速化 + 3D Touch API (20) 今のうちに知っておきたい Swiftの高速化 + 3D Touch API7. • Home Screen Quick Actions
• UIKit peek and pop API
• Web view peek and pop API
• UITouch force properties
※ Apple Developer Libraryで一般に公開されている情報に基きます
3D Touch APIs
14. • 受信ボックスのEメールをPeek -> Popで普通に開く
• リンクをPeek -> PopでSafari
• カメラ画面でサムネイルをPeek -> Popで全画面
• 住所をPeek -> Popでマップ
• 顔アイコンを3D Touchで (Facetime、メッセージ、メール等)
• 左スワイプでメール削除、右スワイプで未読に?
使用例
15. • Appleの日本語ページによれば、Peekが覗く Pop で開くというニュアンス
• UIViewControllerPreviewingDelegate
• UIPreviewAction
• UIPreviewActionGroup
• UIPreviewActionItem (protocol)
17. Peekさせる ViewController を返す感じ
func previewingContext(previewingContext:
UIViewControllerPreviewing, viewControllerForLocation
location: CGPoint) -> UIViewController?
Popさせる 時に呼ばれるのでshowViewControllerする感じ
func previewingContext(previewingContext:
UIViewControllerPreviewing, commitViewController
viewControllerToCommit: UIViewController)
UIViewControllerPreviewingDelegate
23. • UITouch に force, maximumPossibleForce のプロパティが増えた
• 9.1はPencil関係、ペンの角度も取れるみたいでヤバイ
UITouch.force,
UITouch.maximumPossibleForce
27. Swift 2 採用して数ヶ月
• だんだんコーディング規約のようなものも出来てきた
• selfを使わない
• セミコロンなしで統一
• 可能な限り型定義しない
• クロージャは省略した書き方を優先する
• Voidは省略等
37. 前提
これからお見せするのは 2015/09/10 iOS 9 GM Seed 発表時点、iPhone 6上で実行結果です
一部を除き1,000,000回ループさせた時にかかった時間です
TestSplee
https://github.com/jstarfruits/TestSplee
66. まとめ
• 3D Touch はやくさわりたい
• 書き方次第で10倍以上スピードが上がる
• 規約に悩んだらスピードで決めるのって良い
• 遅いのはObjective-Cのせいじゃない
• なぜ速いのか速いのか?
中間コードを読めれば・・・