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
dotrikun
September 06, 2019
Programming
3
2k
フィードやチャットのスクロールを全力でなめらかにする/iOSDC2019-LT
dotrikun
September 06, 2019
Tweet
Share
More Decks by dotrikun
See All by dotrikun
iOSDC2023LT
dotrikun
0
440
鉄道アプリを支えるテクノロジー
dotrikun
1
1.9k
ゼロイチフェーズからのCleanArchitecture/ios_ca
dotrikun
2
940
不摂生で救急搬送されたiOSアプリ開発者が iPhoneとAppleWatchをフル活用して健康を取り戻した話 / iosdc2018
dotrikun
2
12k
アプリ開発のアンチパターンを踏み抜きながら アプリをフルリニューアルした話
dotrikun
17
11k
個人情報を扱うアプリと暗号化について
dotrikun
1
850
スマート山ごもりでアプリを高速開発する
dotrikun
0
970
Other Decks in Programming
See All in Programming
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
420
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
810
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
240
ALL CODE BASE ARE BELONG TO STUDY
uzulla
27
6.7k
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
220
SODA - FACT BOOK(JP)
sodainc
1
8.7k
CSC305 Lecture 09
javiergs
PRO
0
310
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
280
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
Cursorハンズオン実践!
eltociear
2
1.2k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Agile that works and the tools we love
rasmusluckow
331
21k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Done Done
chrislema
185
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
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 λΠϜϥΠϯνϟοτ͕ΞϓϦͷίΞػೳͳΒؤுΔՁ͋Δʂ