heerucan / SSAC-iOS

SSAC 2기 수업/과제 정리
https://bit.ly/3SYL8BQ
1 stars 0 forks source link

[Mission] 좀 더 깊게 생각해볼 것들 #4

Closed heerucan closed 1 year ago

heerucan commented 2 years ago

Mission - 좀 더 깊게 생각해볼 것들

🥳 Missioin

heerucan commented 2 years ago

1. weak 가 outlet collection에는 적용되지 않는 이유?

weak 약한 참조를 위한 키워드고 Automatic Reference Counting 관리를 위해 존재한다. 즉, Swift에서 앱의 메모리 사용을 관리하기 위해 사용하는 기능이라고 보면 된다. (swift 자체에서 컴파일 시에 알아서 Reference Count를 관리하는 코드를 자동으로 넣음)

기억할 것은 ARC는 참조 타입인 Class에서만 적용되고, 값 타입인 Struct, Enum에는 적용되지 않는다.

그런데, outlet collection은 배열이다. 이 배열은 Struct에 속한다.

스크린샷 2022-07-12 오전 12 08 18

따라서, outlet collection 앞에는 weak 키워드가 붙지 않는 것이다.

ARC 관련 자료

heerucan commented 2 years ago

2. NavigationController -> TabBarController 시에 tabBar가 없다.

근데 그 반대의 경우는 tabBar가 활성화되어 있다.

이유가 몰까? (아직 미정확함)

스크린샷 2022-07-12 오전 12 13 50

얼레벌레 번역하면,

root view controller가 네비게이션뷰컨이면 탭바 컨트롤러가 화면에 보여지는 네비뷰컨의 콘텐츠에 맞게 사이즈를 알아서 조정하기 때문에 그래서 tabbar가 오버랩되지 않는 것이다.

heerucan commented 2 years ago

3. ContainerViewController와 ContentsViewController

참고자료를 읽자!

heerucan commented 2 years ago

4. iOS Sandbox System

스크린샷 2022-07-14 오후 9 58 24

plist에 key-value로 xml 형식으로 데이터가 저장되는데 plist 파일이 SandBox 내의 Bundle Container에 저장

heerucan commented 2 years ago

5. Enum은 타입 그 자체이기 때문에 case들이 배열로 선언되었다면 원소들이 추가, 삭제될 수 없음.