Я использую CoreData и хочу перезагрузить UICollectionView при сохранении новой записи в CoreData, но только self.collectionview.reloaddata()
не запускает ее перезагрузкой.ReloadData в UICollectionView
Спасибо за вашу помощь.
Мои CoreData и UICollectionView меня попробовать перезагрузить UICollectionView когда clockblogalarm стать новая запись:
var clockblogalarm = [ClockBlogAlarm]() {
didSet { //self.ClockCollectionView.reloadData()
}
}
var mgdContext = (UIApplication.shared.delegate as! AppDelegate).managedObjectContext
func loadClockAlarms() {
let LoadRequestBlogAlarm: NSFetchRequest<ClockBlogAlarm> = ClockBlogAlarm.fetchRequest()
clockblogalarm = try! mgdContext.fetch(LoadRequestBlogAlarm as! NSFetchRequest<NSFetchRequestResult>) as! [ClockBlogAlarm]
}
@IBOutlet var ClockCollectionView: UICollectionView!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.loadClockAlarms()
}
Здесь я сохранить запись в CoreData. Когда я нажимаю кнопку «Готово» view.bottomButtonHandler{}
, я хочу перезагрузить данные и показать их в UICollectionView с помощью loadClockAlarms().
else if index == 1 {
let view = AddClockView.instantiateFromNib()
let window = UIApplication.shared.delegate?.window!
view.closeButtonHandler = {[weak modal] in
modal?.closeWithLeansRandom()
return
}
view.bottomButtonHandler = {[weak modal] in
modal?.closeWithLeansRandom()
self.loadClockAlarms()
return
}
modal.show(modalView: view, inView: window!)
}
// MARK: UICollectionViewDataSource
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return clockblogalarm.count
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "AlarmBlogCell", for: indexPath) as! AlarmBlogCell
cell.layer.cornerRadius = 8
let clockblogalarms = clockblogalarm[indexPath.row]
if clockblogalarms.lock == "ClockblogAlarm" {
cell.Title.text = clockblogalarms.title
cell.Time.text = "SSSSS"
}
return cell
}
Можете ли вы показать, что вы имеете в ваших 'методов UICollectionViewDataSource'? – Deyton
Да, конечно, я добавил. – Marshall