Swift : class vs struct
struct
- call by value
- memory 할당 영역 : stack
- 상속 불가, protocol 구현
- Codable 사용가능
- NSData Serializable 사용 불가
Class
- call by reference
- memory 할당 영역 : heap
- 상속, protocol 구현 가능
- Codable 사용 불가
- NSData Serializable 사용 가능
Q. Struct 에서 Classs를 Property 를 가지고 있다면 어떻게 동작하는가?
struct SomeStruct {
var desc: String
var image: UIImage
}
SomeStruct 자체는 Copy가 되지만, 그 Property 들은 Call-By-Reference동 동작함으로 Copy시에 주소값만 복사가 된다.
Q. 언제 Struct를 쓰는가?
JSON Response를 Modeling 할때 주로 사용.
Serilizable 이 필요 한 경우 사용 불가.
Q. 언제 Class 를 쓰는가?
Objc에서도 같이 사용 할때,
Model을 Serizlize 하여 전송하거나 저장할 필요가 있을 때
No comments:
Post a Comment