Je veux faire une boucle à travers les objets CoreData sans utiliser tableView ou CollectionView ... Mais en utilisant un ViewControllerLooping Core Data Objects en dehors d'une table/Collection Voir
J'ai essayé quelque chose comme:
for var i = 0; i < numberOfExerciseItems; i++ {
let exerciseItemsfromDay = fetchedResultController.objectAtIndexPath(i) as! ExerciseItemModel
}
Cela ne fonctionne évidemment pas car il n'est pas de type NSIndexPath
comme vous le feriez dans une table ou CollectionView. Existe-t-il des moyens de le faire en dehors d'une vue Table/Collection? Merci pour les idées à l'avance.
Modifier De cette réponse, je veux accéder à une entité d'un élément dans le tableau des éléments dans la boucle:
let request = NSFetchRequest(entityName: "ExerciseItemModel")
let items = (try? context.executeFetchRequest(request)) as? [ExerciseItemModel] ?? []
In this loop
items.forEach {
print(items) //Displays all the objects in the console.
print(items[1].attribute //Throws the error Value of type'AnyObject' has no member 'attribute' and I cannot access an attribute from the items array . Not sure why!
}
Modifier Mon ExerciseModel Classe
import Foundation
import CoreData
@objc(ExerciseItemModel)
class ExerciseItemModel: NSManagedObject {
// Insert code here to add functionality to your managed object subclass
}
extension ExerciseItemModel {
@NSManaged var exerciseType: String?
@NSManaged var exerciseName: String?
@NSManaged var durationOrSets: String?
@NSManaged var distanceOrReps: String?
@NSManaged var weight: String?
@NSManaged var backgroundImage: NSData?
@NSManaged var dayID: String?
@NSManaged var date: NSDate?
}
est-il une raison particulière pour laquelle vous utilisez un contrôleur tiré par les cheveux de résultats? Exécutez simplement une requête d'extraction ordinaire et faites une boucle dans le tableau retourné. –
@MartinR Je veux les comparer à une valeur et filtrer certains objets. Si cela ne vous dérange pas, pourriez-vous poster un exemple de code de ce que vous voulez dire? – Gugulethu