스위프트를 처음 사용하고 속성을 계산할 수 있지만 저장 프로퍼티를 가질 수없는 열거 형의 특징을 발견했습니다. 열거 형에 신속하게 저장된 속성이없는 이유는 무엇입니까?신속한 열거 형 저장 프로퍼티
1
A
답변
2
열거 형은 구조화 된 데이터 형식입니다. 그들은 value type
속성을 저장할 수 있지만 (예 : static
속성) 개체와 같은 인스턴스 속성을 가질 수 없습니다. 또한 계산 된 속성을 사용하면 열거 형의 각 case
에 대해 다른 값을 반환 할 수 있습니다. 사과 문서
치형 가입일
는 값 그것이 변수 또는 상수, 또는이 함수에 전달되는 경우에 할당 될 때 복사되는 유형이다.
모든 구조와 열거 형은 Swift의 값 유형입니다. 이는 을 통해 사용자가 만든 구조체 및 열거 형 인스턴스와 해당 속성의 값인 유형이 코드에서 을 전달할 때 항상 복사된다는 것을 의미합니다.
열거 형은 할당 될 때마다 복사되므로 reference type
과 같은 인스턴스 변수를 가질 수 없습니다. 차이점은 참조 유형이 복사되는 대신 동일한 인스턴스를 참조한다는 것입니다. 열거 형은 으로 정의되어 있습니다. 따라서 값은 항상 동일합니다..
편집 :
구조체와 열거 사이의 중요한 차이는 구조체 속성을 저장 한 수 있다는 것입니다. 열거 형의 각 사례는 서로 다른 관련 값을 가질 수 있지만 열거 형의 각 값은 열거 형에서 정의한대로 단일 사례를 나타냅니다. 정의에 따르면 열거 형의 경우 값을 절대로 변경해서는 안됩니다. 이러한 빠른 응답하지만 난에 대한 참조 유형, 저장 한 특성
관련 문제
- 1. 신속한 재귀 열거 형
- 2. 신속한 typedef 열거 형
- 3. 신속한 데이터 열거 형
- 4. 신속한 열거 형 속성 생성
- 5. IsolatedStorageSettings에 열거 형 저장
- 6. NSNumber를 신속한 열거 형 값과 어떻게 비교합니까?
- 7. 열거 테이블 저장소에 열거 형 목록 저장
- 8. 데이터베이스의 열거 형 목록 저장
- 9. UIImage 저장 및 열거 형 CoreData에 저장
- 10. 열거 형 내의 열거 형
- 11. 열거 형 내의 열거 형
- 12. DB의 열거 형 또는 열거 형 열거 형
- 13. 복합 형 열거 형
- 14. 일반 열거 형 및 일반 프로토콜을 사용하는 신속한 유형 삭제
- 15. CSV로 파이프 분리 저장 (XlFileFormat 열거 형)
- 16. 열거 형, PList 또는 다른 저장 장치?
- 17. Java로 SQLite에서 열거 형 저장 및 검색
- 18. 쉼표로 구분 된 목록으로 열거 형 저장
- 19. 다른 열거 형 값에 열거 형 지정
- 20. 표 형식의 열거 형 열거 형 표현
- 21. 열거 형 대 강력한 형식의 열거 형
- 22. 열거 형?
- 23. 열거 형
- 24. 다른 열거 형의 열거 형
- 25. 방법, 열거 형식으로 열거 형
- 26. NSStringEncoding - 열거 형의 열거 형 열거
- 27. 클래스가 열거 형 (또는 열거 형 일 필요)
- 28. 목록 열거 형 값 열거 형 PHP mysql
- 29. 열거 형 목록에 열거 형 항목을 저장하는 방법은 무엇입니까? (?)
- 30. 열거 형 'UIViewAnimationCurve'에서 다른 열거 형 'UIViewAnimationTransition'으로의 암시 적 변환
감사 :
구조체 : 값 형식, 저장 한 수있는 속성
열거
: 값 형식, 저장 한 할 수없는 속성클래스 그 뒤에 기술적 인 이유가 무엇인지에 관해서는 여전히 의심의 여지가 있습니다. 왜 그들은 인스턴스 저장 프로퍼티를 가질 수 없습니까? –
추가 정보로 답변 수정 – Max
구조체도 열거 형과 같은 값 유형이지만 속성이 저장되어 있습니다. 따라서 응답 구조에는 인스턴스 속성이 저장되어 있지 않아야합니다. 내가 뭔가를 놓치고 있다면 나를 바로 잡아라. –