Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フィードやチャットのスクロールを全力でなめらかにする/iOSDC2019-LT
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
dotrikun
September 06, 2019
Programming
2.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フィードやチャットのスクロールを全力でなめらかにする/iOSDC2019-LT
dotrikun
September 06, 2019
More Decks by dotrikun
See All by dotrikun
iOSDC2023LT
dotrikun
0
550
鉄道アプリを支えるテクノロジー
dotrikun
1
2.4k
ゼロイチフェーズからのCleanArchitecture/ios_ca
dotrikun
2
1.1k
不摂生で救急搬送されたiOSアプリ開発者が iPhoneとAppleWatchをフル活用して健康を取り戻した話 / iosdc2018
dotrikun
2
12k
アプリ開発のアンチパターンを踏み抜きながら アプリをフルリニューアルした話
dotrikun
17
11k
個人情報を扱うアプリと暗号化について
dotrikun
1
890
スマート山ごもりでアプリを高速開発する
dotrikun
0
1k
Other Decks in Programming
See All in Programming
「人を評価する AI」の設計と実装
ryoyanara
0
210
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
160
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.8k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
560
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
230
仕様駆動開発の消費期限
watany
20
8.4k
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
150
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
440
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
330
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.5k
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
320
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Paper Plane
katiecoart
PRO
2
53k
Deep Space Network (abreviated)
tonyrice
0
260
Claude Code のすすめ
schroneko
67
230k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Building an army of robots
kneath
306
46k
エンジニアに許された特別な時間の終わり
watany
108
250k
Prompt Engineering for Job Search
mfonobong
0
400
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Copyright (C)
2018 DeNA Co.,Ltd. All Rights Reserved. ϑΟʔυνϟοτͷ εΫϩʔϧΛશྗͰͳΊΒ͔ʹ͢Δ iOSDC 2019 Lightning Talks September 7, 2019 Hiroshi Shikata Healthcare DeNA Co., Ltd. 1
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ηϧͷߴ͞ՄมͷTableViewCollectionViewΛ࡞Δͱ͖ 2
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Α͋͘Δߴ͕͞มΘΔηϧͷྫ 3
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ςΩετͷจࣈʹΑͬͯߴ͕͞มΘΔ 4
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. UITableViewͰηϧͷߴ͞Λࣗಈʹઃఆ 5
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. දࣔͯ͠ 6
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ҰؾʹεΫϩʔϧ͍ͯ͘͠ͱ 7
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Ҿ͔͔ͬΔͱ͖͕͋Δ 8
Ψο
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell දࣔதͷηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ εΫϩʔϧ Cell Prefetchରʹͳͬͨηϧ ࣍ʹදࣔ͞ΕΔηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ 1.Cellͷੜ tableView(_:cellForRowAt:) Cell Prefetchରʹͳͬͨηϧ ࣍ʹදࣔ͞ΕΔηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ ࣍ʹදࣔ͞ΕΔηϧ 1.Cellͷੜ tableView(_:cellForRowAt:) 2.Cellͷඳը tableView(_:willDisplay:) 3. CellͷϨΠΞτ Cell Prefetchରʹͳͬͨηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ ࣍ʹදࣔ͞ΕΔηϧ 1.Cellͷੜ tableView(_:cellForRowAt:) 2.Cellͷඳը tableView(_:willDisplay:) 3. CellͷϨΠΞτ Cell Prefetchରʹͳͬͨηϧ ߴࣗ͞ಈܭࢉͷ߹ ͜ͷؒʹηϧͷߴ͕͞ܭࢉ͞ΕΔ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. FacebookͷதͷਓʹΑΔFacebookλΠϜϥΠϯͷٕज़ղઆ(2012) Ҿ༻:
https://www.facebook.com/notes/facebook-engineering/under-the-hood-mobile-timeline/10150500366118920/
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. FacebookͷதͷਓʹΑΔFacebookλΠϜϥΠϯͷٕज़ղઆ(2012) ▪
ϋʔυΣΞΞΫηϥϨʔγϣϯͷ࠷దԽ ▪ σβΠϯͷ ͳͲ ʢը૾දࣔʹؔ͢Δ෦͔Βൈਮʣ ௨৴ϦΫΤετͷϢʔβΤʔδΣϯτ͔ΒσόΠ εͷཧతͳԣ෯Λܾఆ͠ɺͦͷԣ෯Λ༻ͯ͠ ϖʔδ্ͷͯ͢ͷը૾ͷදࣔαΠζΛܾఆ͢Δ Ҿ༻: https://www.facebook.com/notes/facebook-engineering/under-the-hood-mobile-timeline/10150500366118920/
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. FacebookͷதͷਓʹΑΔFacebookλΠϜϥΠϯͷٕज़ղઆ(2012) ▪
ϋʔυΣΞΞΫηϥϨʔγϣϯͷ࠷దԽ ▪ σβΠϯͷ ͳͲ ʢը૾දࣔʹؔ͢Δ෦͔Βൈਮʣ ௨৴ϦΫΤετͷϢʔβΤʔδΣϯτ͔ΒσόΠ εͷཧతͳԣ෯Λܾఆ͠ɺͦͷԣ෯Λ༻ͯ͠ ϖʔδ্ͷͯ͢ͷը૾ͷදࣔαΠζΛܾఆ͢Δ →ίϯςϯπͷදࣔαΠζαʔόͰܭࢉࡁΈ Ҿ༻: https://www.facebook.com/notes/facebook-engineering/under-the-hood-mobile-timeline/10150500366118920/
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ࣄલʹίϯςϯπͷαΠζΛܭࢉ͓ͯ͘͠ 17
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ࣄલʹίϯςϯπͷදࣔαΠζΛܭࢉ͓ͯ͘͠ Cell
Cell Cell TableView σʔλऔಘ & දࣔαΠζܭࢉ දࣔσʔλ&CellSize εΫϩʔϧલʹߴܾͯ͢͞·͍ͬͯΔ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ෯ͱදࣔ͢ΔςΩετ͕ܾ·Εߴ͞ࢉग़Ͱ͖Δ 19
ςΩετͷจࣈʹΑͬͯߴ͕͞มԽ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ෯ͱςΩετ͕ܾ·Εߴ͞ࢉग़Ͱ͖Δ 20
▪ UILabel/UITextField / UITextViewͳͲUIViewΛܧঝͨ͠Class ▪ NSAttributedString
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. TableViewCellͱUILabelͷྫ 21
1.UILabelͷԣ෯ΛܾΊΔ TableViewͷԣ෯ - ࠨӈϚʔδϯ TableViewͷԣ෯
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. TableViewCellͱUILabelͷྫ 22
1. UILabelͷԣ෯ΛܾΊΔ TableViewͷԣ෯ - ࠨӈϚʔδϯ 2. UILabelͷαΠζΛࢉग़͢Δ 1ͷԣ෯Λࢦఆͯ͠ func sizeThatFits(_ size: CGSize) -> CGSize
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ෯ͱදࣔ͢ΔςΩετ͕ܾ·Εߴ͞ࢉग़Ͱ͖Δ 23
1. UILabelͷԣ෯ΛܾΊΔ TableViewͷԣ෯ - ࠨӈϚʔδϯ 2. UILabelͷαΠζΛࢉग़͢Δ 1ͷԣ෯Λࢦఆͯ͠ func sizeThatFits(_ size: CGSize) -> CGSize 3. Cellͷߴ͞Λࢉग़͢Δ 2Ͱܭࢉͨ͠ߴ͞ + ্ԼϚʔδϯ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 24 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ)
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 25 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) 14ms ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ) 95ms
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 26 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) 14ms 2ms ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ) 95ms 3ms
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 27 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) 14ms 2ms ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ) 95ms 3ms λΠϜϥΠϯνϟοτ͕ΞϓϦͷίΞػೳͳΒؤுΔՁ͋Δʂ