728x90
๋ฐ˜์‘ํ˜•
[iOS] object_setClass ์˜ ์œ„ํ—˜์„ฑ

[1] ISA Swizzling Method Swizzling์ด ๋Ÿฐํƒ€์ž„์— ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋กœ ๋ฐ”๊ฟ”์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด, ISA Swizzling์€ ๋Ÿฐํƒ€์ž„์— ํŠน์ • ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ ๋ฐ”๊ฟ”์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. (isa ๋Š” ํฌ์ธํ„ฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค) object_setClass ๋ฅผ ์ด์šฉํ•ด์„œ isa swizzling์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๋‚˜์˜ ์ปค์Šคํ…€ ํƒญ๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ์ƒํ™ฉ์„ ๋ด…์‹œ๋‹ค. TabBarController์˜ tabBar ํ”„๋กœํผํ‹ฐ๋Š” get only ์ด๊ณ  ์ด๋ฅผ ์„ธํŒ…ํ•  ์ˆ˜ ์—†๋Š” ์ด๋‹ˆ์…œ๋ผ์ด์ €๋‚˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ isa swizzling์„ ํ†ตํ•ด ๊ธฐ๋ณธ ํƒญ๋ฐ”๋ฅผ ์„œ๋ธŒํด๋ž˜์‹ฑํ•œ ์ปค์Šคํ…€ ํƒญ๋ฐ”๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. private class CustomTabBar: UI..

๐Ÿ/iOS 2022. 11. 4. 21:55
[iOS] DiffableDataSource ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒƒ ์ •๋ฆฌ

UITableViewDiffableDataSource์˜ 4๊ฐ€์ง€ apply ๋ฉ”์„œ๋“œ ๊ธ€์—์„œ ์ง„ํ–‰ํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๊ณ„์† ํ™œ์šฉํ•ด์„œ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์„ ํ…Œ์ŠคํŠธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. [1] ์•„์ดํ…œ์ด๋‚˜ ์ธ๋ฑ์Šค ์ฐพ์„ ๋•Œ, datasource API๋ฅผ ์จ์•ผํ• ๊นŒ vs snapshot API๋ฅผ ์จ์•ผํ• ๊นŒ? UITableViewDiffableDataSource ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ API๊ฐ€ ์žˆ๊ณ  NSDiffableDataSouceSnapshot์€ ์•„๋ž˜์™€ ๊ฐ™์€ API๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์„ ํ™œ์šฉํ•ด์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๋‚˜์—ดํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (iOS 13 ๊ธฐ์ค€!!) ์–ด๋–ค ๊ฒƒ์„ ์“ฐ๋˜ ์ƒ๊ด€์—†์ง€๋งŒ,, โœ”๏ธ Section์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋Š” ํ™”๋ฉด์ด๋ผ๋ฉด snapshot API // multiple sections ๊ด€๋ จํ•ด์„œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋‹ˆ๊นŒ โœ”๏ธ ์ œ๊ฐ€ ์ž‘์„ฑํ•œ ์˜ˆ์ œ..

๐Ÿ/iOS 2022. 6. 29. 11:42
๊ณต์ง€์‚ฌํ•ญ
Total
803,143
Today
2
Yesterday
1,454
ยซ   2022/12   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ