내 앱에서 UIDatePicker
을 사용하여 날짜가없고 시간을 선택하고 그 값을 CoreData
에 저장합니다. 그러나 내 코드에 datePicked.date
(datePicked
이 UIDatePicker
인 경우)을 사용하면 날짜 값도 저장됩니다. NSDateFormatter
을 HH:mm a
형식으로 저장할 수는 있지만 데이터 모델에는 문자열을 저장하고 싶지 않습니다. dateFromString
시간을 필수 형식으로 저장하는 기능을 저장하더라도 기본 날짜가 시간과 함께 추가됩니다. 날짜없이 시간 만 저장하는 방법을 알려주십시오. 어떤 도움을 주시면 감사하겠습니다.Swift에서 UIDatePicker를 사용하여 날짜 구성 요소없이 CoreData에 시간 만 저장하는 방법?
답변
업데이트 됨
변환 가능한 값을 핵심 데이터에 저장할 수 있습니다. 이 클래스와 마찬가지로 : 을 그리고 당신은 모델 파일이 얻을 것이다 :
class Time: NSValueTransformer {
let hour: Int
let minute: Int
let second: Int
override init() { // only sample code
hour = 0
minute = 0
second = 0
}
override class func transformedValueClass() -> AnyClass {
return NSNumber.self
}
override func reverseTransformedValue(value: AnyObject?) -> AnyObject? {
guard let number = value as? NSNumber else {
return nil
}
return Time() // you should init Time from the number
}
override func transformedValue(value: AnyObject?) -> AnyObject? {
let number = hour * 60 * 60 + minute * 60 + second
return number
}
override class func allowsReverseTransformation() -> Bool {
return true
}
}
은이 같은 변형 가능한 속성을 추가해야합니다
extension Entity {
@NSManaged var time: Time? // modify it to Time manually
}
을 그리고 지금, 당신은 관리 객체에 Time
을 절약 할 수 있습니다.
CoreData 모델에서 이러한 값을 단일 시간 값으로 저장할 수있는 방법을 알려주십시오. –
@RajaRupinderSingh 내 대답이 업데이트되었습니다. – Lumialxk
나는 당신의 접근 방식을 볼 수 있기 때문에 데이터 모델에 저장되기 전에 시간이 초 단위로 변환되고있다. 그러나 시간을 기준으로 지역 알림을 실행해야합니다. 따라서 알림을 올바르게 실행하려면 Am/Pm 매개 변수가 필요합니다. Am/Pm 값을 시간에 저장할 수 있습니까? 아니면 문자열로 저장 한 다음 문자열의 저장된 값과 비교해야합니까? –
- 1. 날짜 구성 요소없이 UTC 시간을 얻는 방법?
- 2. 데이터를 coreData에 저장하는 방법
- 3. 동일한 UIDatePicker를 사용하여 2 UITextField에서 날짜 및 시간을 얻는 방법
- 4. 시간 선택이 아닌 UIDatePicker에서 날짜 선택 만 비활성화하는 방법
- 5. 인증 구성 요소없이 리디렉션
- 6. UIDatePicker를 포함하는 하나의보기에서 다음보기로 날짜 전달 방법
- 7. Swift에서 빌드 날짜 및 시간 가져 오기
- 8. UIDatePicker를 24 시간 시스템으로 만드는 방법
- 9. Coredata에 struct가있는 사용자 정의 객체를 저장하는 방법
- 10. coredata에 일대 다 관계를 적절하게 저장하는 방법
- 11. 자바 - 스윙 구성 요소없이 커서를 변경하는 방법?
- 12. DB에 날짜/시간 객체를 저장하는 방법
- 13. 자바 스크립트 날짜 - 시간 만 무시하고 날짜 만 설정 하시겠습니까?
- 14. 시간 그것을 저장하는 방법
- 15. Asp를 사용하여 날짜 시간 만 가져 오는 방법. 넷 C#?
- 16. Swift에서 NSDate()의 날짜와 시간 구성 요소를 분리하는 방법은 무엇입니까?
- 17. UIPickerView/UIDatePicker를 사용하는 시간 선택 도구
- 18. Swift에서 NSDate로부터 시간 추출하기
- 19. Django 날짜/시간 데이터베이스 날짜 만
- 20. 24 시간 이내 날짜 형식의 시간 만
- 21. 데이터베이스에 시간 만 저장하는 방법은 무엇입니까?
- 22. 원하는 날짜 시간 부분 만
- 23. 보관 Doctrine2 날짜 시간 만
- 24. SQL 서버에서 날짜 만 전달하여 날짜 시간 열을 일치시키는 방법
- 25. T-SQL : 날짜/시간 필드의 날짜 부분 만 업데이트하는 방법?
- 26. UIDatePicker를 반환하는 방법
- 27. UIAlertController에 UIDatePicker를 추가하는 방법 iOS9
- 28. GWT 날짜 시간 구성 요소
- 29. CoreData에 NSArray를 저장하는 데 문제가 있습니다. [Swift]
- 30. MySQL은 마지막 날짜/시간 레코드 만 반환합니다.
NSDate로 저장하고이를 검색하려면 "HH : mm a"형식의 NSDateFormater를 사용하여 timeString을 가져옵니다. 또한 NSDateCoponents를 사용하여 NSDate 객체에서 시간, 분 등을 분리 할 수 있습니다. –
당신은 date 객체 대신 timeIntervalSince1970을 저장할 수 있습니까? 그렇지 않으면 시간 간격도 절약하고 싶지 않은 것입니까? –
날짜 부분을 항상 고정 값 (예 : 2000-01-01)으로 설정하면 정렬이나 비교를 망칠 염려가 없습니다. – zisoft