구조체를 사전의 키로 사용하려고합니다. 코드는 신속한 2에서 작동하지만 그림 링크 에서처럼 신속한 3에서는 작동하지 않습니다.스위프트 3 : Equatable 함수를 작성하는 방법
답변
은 스위프트 버전에 대해 아니에요. Swift 2에서도 오류가 발생합니다. 문제는 전역 함수 여야하므로 ==
함수 을 Struct의 외부로 정의해야한다는 것입니다.
감사합니다. 처음으로 Hashable, Equatable로 작업했습니다. 이제 멋지게 작동합니다. – selcuk
@selcuk : [this] (http://stackoverflow.com/help/someone-answers)를 읽어보십시오. –
Hashable 프로토콜을 준수하는 Swift 유형도 Equatable 프로토콜을 준수해야합니다. Hashable 프로토콜은 Equatable 프로토콜 (source)에서 상속되기 때문에. 그래서 그 오류 메시지가 나타납니다.
귀하가 정의한 두 속성을 비교할 수 있도록 global == 연산자를 재정의하므로 == 함수가 전역 적으로 선언되어야합니다. Swift 3에서는 struct 자체에 ==를 정의 할 수도 있지만 정적이어야합니다.
struct Attributes: Hashable {
var uid: Int
var size: Size
var mimeType: mimeType
var hashValue: Int {
return uid
}
static func ==(lhs: Attributes, rhs: Attributes) -> Bool {
return lhs.size == rhs.size && lhs.mimeType == rhs.mimeType
}
}
- 1. 스위프트 2에서 스위프트 3
- 2. 스위프트 2에서 스위프트 3
- 3. 스위프트 3
- 4. jquery에서 함수를 작성하는 방법
- 5. cofeescript에서이 함수를 작성하는 방법
- 6. 중위 함수를 작성하는 방법
- 7. C에서 함수를 작성하는 방법
- 8. 는 prefersStatusBarHidden, 스위프트 3/아이폰 OS 10부터 스위프트 3
- 9. DISPATCH_QUEUE_T는 스위프트 3
- 10. Elisp에서 함수를 작성하는 함수를 작성하는 방법이 있습니까?
- 11. 스위프트 3 UITableViewDataSource 선택기
- 12. 스위프트 3 프로토콜 캐스팅 on 임의의 값 포함
- 13. loadrunner에서 Web_custom_request() 함수를 작성하는 방법
- 14. jquery 반환 함수를 작성하는 방법
- 15. 스칼라 방법이 함수를 작성하는 방법?
- 16. 간단한 ErrorMessage 함수를 작성하는 방법
- 17. JavaScript로 입력해야하는 함수를 작성하는 방법
- 18. hibernate 함수를 작성하는 적절한 방법
- 19. 스위프트 2.3의 스위프트 3 프레임 워크를 사용합니다.
- 20. 스위프트 3 NSWindowStyleMask은 스위프트 3 엑스 코드 8 업데이트 후
- 21. CompletionHandler 스위프트 3
- 22. UIView.animate - 스위프트 3 - 완료
- 23. 스위프트 3 링크 열기
- 24. NSFetchedResultsController deleteCache는 스위프트 3
- 25. 스위프트 3 날짜 형식
- 26. 스위프트 3 - 더 상황
- 27. 스위프트 3 변환
- 28. 스위프트 3 iOS 호환성
- 29. 스위프트 3 detailView
- 30. 스위프트 3 명 변경
코드를 이미지가 아닌 텍스트로 추가하십시오. –
코드는 Swift 2에서도 작동하지 않습니다. 오류 메시지는 매우 명확합니다. ** 연산자는 전역 범위에서만 허용됩니다 ** – vadian
@appzYourLife는 다음에 수행 할 것입니다 – selcuk