こんにちは。現在xibファイルを使ってdatePickerを持っているtableViewCellをあるセルをタップしたら、insertされるようにしたいのですが、タイトルのようなエラーが出てきてしまいます。解決方法を調べたところ、ビルトクリーンやTarget Target Membership,copy Bundle Resourcesに問題がある場合が多いそうなのですがいずれも解決には至りませんでした。
こちらが参考にした記事です。
https://medium.com/@tharanit99/how-to-implement-a-inline-date-picker-in-ios-with-swift-4-9f8274460dbc
コードに問題があるのでしょうか。ご回答お待ちしています。
Swift5
1 2protocol DatePickerDelegate: class { 3 func didChangeDate(date: Date, indexPath: IndexPath) 4} 5 6class DayPickerTableViewCell: UITableViewCell { 7 8 9 @IBOutlet weak var dayPicker: UIDatePicker! 10 var indexPath: IndexPath! 11 weak var delegate: DatePickerDelegate? 12 13 override func awakeFromNib() { 14 super.awakeFromNib() 15 // Initialization code 16 } 17 18 override func setSelected(_ selected: Bool, animated: Bool) { 19 super.setSelected(selected, animated: animated) 20 21 // Configure the view for the selected state 22 } 23 24 class func reuseIdentier() -> String { 25 return "dayPicker" 26 } 27 28 func updateCell(date: Date, indexPath: IndexPath) { 29 dayPicker.setDate(date, animated: true) 30 self.indexPath = indexPath 31 } 32} 33 34import UIKit 35 36// Date Format type 37enum DateFormatType: String { 38 /// Time 39 case time = "HH:mm:ss" 40 41 /// Date with hours 42 case dateWithTime = "dd-MMM-yyyy H:mm" 43 44 /// Date 45 case date = "dd-MMM-yyyy" 46} 47 48class DateCallingTableViewCell: UITableViewCell { 49 50 @IBOutlet weak var DateCallingLabel: UILabel! 51 52 func updateText(date: Date) { 53 DateCallingLabel.text = date.convertToString(dateformat: .dateWithTime) 54 } 55 56 override func awakeFromNib() { 57 super.awakeFromNib() 58 // Initialization code 59 } 60 61 override func setSelected(_ selected: Bool, animated: Bool) { 62 super.setSelected(selected, animated: animated) 63 64 // Configure the view for the selected state 65 } 66 67} 68 69 70extension Date { 71 72 func convertToString(dateformat formatType: DateFormatType) -> String { 73 let dateFormatter = DateFormatter() 74 dateFormatter.dateFormat = formatType.rawValue 75 let newDate: String = dateFormatter.string(from: self) 76 return newDate 77 } 78 79}
xcode11
Swift5
元のコードをダウンロードしてそのまま動かしたり、ご自分のコードと比べてみてはいかがでしょうか?
https://github.com/rajtharan-g/InlineDatePicker
あなたの回答
tips
プレビュー