본문 바로가기

iOS/Swift14

Struct와 Class, Closure Java를 사용할 때는 Class로 객체를 만들어 사용했었는데, Swift를 사용하면서 알게 된 점은 Swift에서는 Struct와 Class가 모두 있다는 것이었습니다. 그러다 보니 어떤 차이점이 있을지 궁금해서 알아보게 되었습니다. Struct와 Class 공통점 프로퍼티와 메서드를 구조화해서 묶어둔 형식 하나의 사용자 지정 타입을 만드는 것 이니셜라이저 init을 정의해서 초기상태 지정 가능 새로운 기능 추가를 위한 Extension 사용 가능 Protocol 사용 가능 Struct와 Class 차이점 먼저, Struct는 value 타입으로 할당이나 파라미터 전달 시에 value copy가 일어납니다. 항상 새로운 변수로 copy가 일어나는 점 때문에 멀티스레드 환경에서 공유 변수로 인해 문제를 .. 2020. 12. 24.
강한 순환 참조 / 강한 참조 사이클 (Strong Reference Cycle) STRONG REFERENCE CYCLE Strong Reference Cycle (강한 순환 참조)란 무엇을 말할까요? 저는 iOS 개발을 공부하면서 iOS와 관련된 게시글이나 정보를 찾다보면 메모리 관리에 관한 이야기가 정말 많다고 생각이 들었습니다. 그리고 이 게시물에서 다뤄볼 강한 순환 참조도 메모리와 관련되어 있습니다. 그래서 오늘은 강한 순환 참조에 대해서 아래 예시와 함께 살펴보겠습니다. 먼저, 아래 코드와 같이 Person과 Car이라는 클래스가 있다고 가정합시다. 그리고 Person class는 Car 속성을, Car class는 Person 속성을 가지고 있습니다. class Person { var name = "Jamie" var car: Car? } class Car { var mo.. 2020. 12. 20.