iOS/๐ŸŽ Documentation

The Role of View Controllers (2) - Overview - View Controller Programming Guide for iOS

woozzang 2021. 1. 14. 01:06
์ถœ์ฒ˜ : Apple Developer Documentation

 

Data Marshaling

marshal = organize

 

View controllers (์ดํ•˜ VC)๋Š” ๊ทธ ๊ณ„์ธต์— ์žˆ๋Š” view ๋“ค๊ณผ ์•ฑ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ์ค‘๊ณ„์ž (intermediary)์ž…๋‹ˆ๋‹ค.

UIViewController๋ฅผ ์„œ๋ธŒ ํด๋ž˜์‹ฑ ํ•œ ์ปค์Šคํ…€ ์ฝ”๋“œ์—์„œ, ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์ด ์žˆ์œผ๋ฉด ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์ด ์˜ˆ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ทธ๋ฆผ์—์„œ VC๋Š” ๊ด€๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋“ค์˜ ์ฐธ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋ฟŒ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” View๋“ค์˜ ์ฐธ์กฐ ๋˜ํ•œ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค์„ ์ž˜ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ๋ชซ์ž…๋‹ˆ๋‹ค.

 

View controller๋Š” data ์™€ view ์‚ฌ์ด๋ฅผ ์ค‘๊ฐœํ•œ๋‹ค

๊ฐœ๋ฐœ ์‹œ์—๋Š” ๋ฐ์ดํ„ฐ ๊ฐ์ฒด์™€ VC ์‚ฌ์ด์— ๋ช…ํ™•ํ•œ ์ฑ…์ž„ ๋ถ„๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋Œ€๋ถ€๋ถ„ ๊ทธ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

VC ๊ฐ€ view๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์ธํ’‹ ๊ฐ’์„ ํ™•์ธํ•˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ํ˜•์‹์— ๋งž๊ฒŒ ํŒจํ‚ค์ง• ํ•˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, VC์˜ ์—ญํ• ์„ ์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

UIDocument๊ฐ€ VC๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Document ๊ฐ์ฒด๋Š” persistent stroage (์ฆ‰, secondary storage)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฝ๊ณ  ์“ฐ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์„œ๋ธŒ ํด๋ž˜์‹ฑ ํ•˜๋ฉด, ์›ํ•˜๋Š” ๋กœ์ง๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ   VC์—๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VC๋Š” ๋ฐ์ดํ„ฐ์˜ ์นดํ”ผ๋ณธ๋งŒ ์‚ฌ์šฉํ•˜๊ณ , ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ๊ด€๋ฆฌ๋Š”  document๊ฐ€ ํ•˜๊ฒŒ๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.


 

User Interations

VC ๋Š” responder ๊ฐ์ฒด๋กœ์„œ ์ง์ ‘ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฑฐ์˜ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

VC ๋Œ€์‹  View๊ฐ€ ์ง์ ‘ ๊ทธ๋“ค์—๊ฒŒ ๋ฐœ์ƒํ•œ ํ„ฐ์น˜ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ 

๊ทธ ๊ฒฐ๊ณผ๋ฅผ delegate๋‚˜  target object์—๊ฒŒ ์ „๋‹ฌํ•˜์—ฌ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ VC์—์„œ ๋ฐœ์ƒํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์ด๋ฒคํŠธ๋“ค์€ delegate ๋ฉ”์„œ๋“œ๋‚˜  action ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

 

 

๋!


 

๋‹ค์Œ ๊ธ€ : The Role of View Controllers (3) - Overview - View Controller Programming Guide for iOS

 

The Role of View Controllers (3) - Overview - View Controller Programming Guide for iOS

์ถœ์ฒ˜ : Apple Developer Documentation Resource Management UIViewController๋Š” ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ž์›์„ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์„ ์„œ๋ธŒ ํด๋ž˜์‹ฑํ•œ ์ปค์Šคํ…€ ์ฝ”๋“œ์—์„œ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ..

woozzang.tistory.com