Я хочу UICollectionViewCell быть удалены, когда кнопка удаления сливают:Фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение внутри объекта
@IBAction func deleteButtonClicked() {
error here: delegate?.deleteTrigger(clothes!)
}
одежды:
var clothes: Clothes? {
didSet {
updateUI()
}
}
func deleteTrigger:
func deleteTrigger(clothes: Clothes){
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext!
let en = NSEntityDescription.entityForName("Category", inManagedObjectContext: context)
if let entity = NSEntityDescription.entityForName("Category", inManagedObjectContext: context) {
let indexPath = NSIndexPath()
//var cat : Category = clothing as! Category
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext: NSManagedObjectContext = appDelegate.managedObjectContext!
let fetchRequest = NSFetchRequest(entityName: "Clothes")
let predicate = NSPredicate(format: "category == %@", self.selectedCategory!)
fetchRequest.predicate = predicate
var error: NSError? = nil
var clothesArray = managedContext.executeFetchRequest(fetchRequest, error: &error)!
managedContext.deleteObject(clothesArray[indexPath.row] as! NSManagedObject)
clothesArray.removeAtIndex(indexPath.row)
self.collectionView?.deleteItemsAtIndexPaths([indexPath])
if (!managedContext.save(&error)) {
abort()
}
}
Одежда является в основных данных. Кто-нибудь знает, почему я получаю эту ошибку? Я пытаюсь удалить collectionViewCell из основных данных с помощью отношения «один ко многим». Категория - это материнская организация, а Одежда - это объект в категории.
Вы говорите «делегировать ?.deleteTrigger (одежда!)» - всякий раз, когда вы используете восклицательный знак, вы просите об аварии. Вот что восклицательный знак _means_ в Свифте. Вы рухнули. Никакого большого удивления. Если вы этого не хотите, не делайте этого. – matt