Swift 공식문서 읽기...Day24

김민종·2021년 9월 11일
0

Swift Doc

목록 보기
24/26

Memory Safety
스위프트는 코드에서 안정적이지 않는 동작이 발생하는 것을 제한한다. 스위프트는 동일한 메모리에 대한 다중접근의 경우 메모리를 수정하는 코드가 메모리에 대한 독점적인 접근을 요구하며 충돌하지 않도록 한다.

Understanding Conflicting Access to Memory
메모리에 대한 접근은 변수 설정 및 함수에 인자를 전달할 때 발생한다. 메모리에 대한 접근 충돌은 다른 코드가 같은 저장위치의 메모리에 접근할 때 발생한다. 스위프트는 여러줄에 걸쳐 값을 수정하고자 하는 것은 수정하는 중간 값의 접근을 가능하게 한다.

Characteristics of Memory Access

접근 충돌하는 상황에서는 메모리 접근의 성질은 3가지 특성이 있다. 접근이 읽기 혹은 쓰기인지, 지속시간, 메모리의 위치가 3가지 특성이다. 읽기쓰기접근은 차이점이 명확한다. 쓰기접근은 메모리의 위치를 바꾼다.

Conflicting Access to self in Methods
구조체에서 변경 메소드는 호출이 계속될때 동안 self에 대한 쓰기접근을 허용한다.

Conflicting Access to Properties
구조체, 튜플, 열거체 타입은 개별 구성요소값들로 이루어진다. 이는 속성하나에 대한 읽기나 쓰기 접근이 전체 값에 대한 읽기나 쓰기 접근을 요구한다는 의미이다.

profile
신입 ios개발자입니다!

0개의 댓글