verificar verificacion toca tarjeta requiere para pago metodo forma familiar familia desactivar dejar cuenta continuar compras compatibilidad compartir compartido compartidas cambiar apple iphone objective-c xcode core-data crash

iphone - verificacion - no compartir forma de pago en familia



executeFetchRequest: error: una solicitud de recuperaciĆ³n debe tener una entidad (18)

Tuve un proyecto que estaba funcionando bien. Tenía "Datos principales" marcados y el modelo de datos estaba configurado. Solo empecé a agregar un par de entidades y propiedades esta noche. Cuando intento ejecutar mi aplicación ahora, ni siquiera se carga. Simplemente se estrella contra mí.

Aquí está el error:

''NSInvalidArgumentException'', reason: ''executeFetchRequest:error: A fetch request must have an entity.''

Estoy realmente asustado porque no tengo una copia de seguridad de esto y si no puedo hacerlo funcionar, no sé lo que haré. :)

¡Gracias por adelantado!

EDITAR: Me harté de mis datos, así que solo copié un nuevo xcdatamodel en blanco para mi proyecto y voy a empezar de nuevo. ¡Gracias por la ayuda!


¿Tal vez está intentando cargar una base de datos de un paquete diferente / incorrecto? Por ejemplo, desde o dentro de un marco?

Tuve este problema y lo resolví cargando la base de datos del bundle del marco relacionado. Y luego todo funcionó bien !!

Swift 4 + MagicalRecord:

let frameworkBundle = Bundle(for: AClassFromTheFramework.self) let managedObjectModel = NSManagedObjectModel.mergedModel(from: [frameworkBundle]) MagicalRecord.setShouldAutoCreateManagedObjectModel(false) NSManagedObjectModel.mr_setDefaultManagedObjectModel(managedObjectModel) MagicalRecord.setupCoreDataStack(withAutoMigratingSqliteStoreNamed: "db.sqlite")

Y voilá !


Además, asegúrese de que su archivo .xcdatamodeld esté en la fase de "Copiar los recursos del paquete" de sus fases de compilación.


Comprobar si,

  • La entidad está presente en el archivo xcdatamodel.
  • nombre de la entidad utilizada son los mismos.

Construí limpio, y eso no lo arreglé. Luego borré la aplicación, y eso no la arreglé. Luego construí limpia y eliminé la aplicación AL MISMO TIEMPO, y eso lo arreglé.


Creo que la pregunta / problema original, y también el problema que corrige la mayoría de estas respuestas (solo de diferentes maneras) es simplemente muy simple:

Cada vez que modifique sus datos centrales (como agregar una entidad como usted menciona), tendrá que eliminar todos los datos existentes (si aún no ha publicado su aplicación) o agregar una nueva versión a su modelo.

Solo pensé que publicaría esta respuesta, aunque esta es una pregunta antigua, porque esta respuesta parece bastante obvia y hasta ahora no se ha discutido en ninguna de las preguntas o comentarios que leí anteriormente.


Después de buscar por todas partes una solución, lo que me lo arregló fue hacer un Clean / Build en Xcode.

Producto-> Limpiar, Producto-> Construir, luego intente ejecutarlo.


Esto es lo que lo arregló para mí:

Cuando me estaba convirtiendo a Swift 3, Xcode me estaba dando un error al declarar un nuevo NSFetchRequest , diciendo que necesitaba un tipo. Después de agregar el tipo, hice lo que cualquier otra persona hubiera asumido; Si se escribe la solicitud, ¿por qué especificar un nombre de entidad? Entonces, lo quité.

En realidad fue mi error.

Swift 2.2:

let request = NSFetchRequest(entityName: "MyEntity")

Cuando primero me convertí a Swift 3:

let request = NSFetchRequest<MyEntity>()

Eso me estaba dando un error. Terminé con esto:

let request = NSFetchRequest<MyEntity>(entityName: "MyEntity")

Y todo funciona bien. Personalmente, no estoy seguro de por qué debe tener un nombre de entidad especificado, si está escribiendo la solicitud. Tal vez lo actualicen en algún momento (espero)


Esto me sucedió cuando estaba buscando en la base de datos incorrecta. Mi aplicación tiene 3 bases de datos sqlite, y por supuesto 3 instancias de ManagedObjectContext. Bueno, estaba enviando el ManagedObjectContext incorrecto a un método que le pedía que consultara una tabla que no existía en el ManagedObjectContext que envié. Después de usar el ManagedObjectContext correcto, todo estuvo bien.


Me topé con el mismo error preciso al dar mis primeros pasos en Core Data (y iOS 11 y Swift 4). Comencé con un libro (la sexta edición estaba dirigida a Swift 4 pero presumiblemente incluyendo algunas cosas heredadas).

Como se sugiere en el libro, mi código era:

let fetchRequest = NSFetchRequest<ReminderData>() let entity = ReminderData.entity() fetchRequest.entity = entity do { let rows = try managedObjectContext.fetch(fetchRequest) } catch { fatalError("Unresolved error") }

Resultó que todo lo que obtuve de ReminderData.entity() es nil . ¿No estoy seguro de si hice algo mal al configurar el modelo de datos o ... los documentos de Apple dicen que NSManagedObject.entity() no debe sobrescribirse?

Para ReminderData+CoreDataProperties.swift , el archivo Codegen ReminderData+CoreDataProperties.swift incluyó la solución:

@nonobjc public class func fetchRequest() -> NSFetchRequest<ReminderData> { return NSFetchRequest<ReminderData>(entityName: "ReminderDB") }

que era todo lo que tenía que usar para terminar con un NSFetchRequest adecuado, sin problemas con la NSEntityDescription , ¡el problema se había ido!

let fetchRequest = NSFetchRequest<ReminderData>(entityName: "ReminderDB") do { let rows = try managedObjectContext.fetch(fetchRequest) } catch { fatalError("Unresolved error") }


Mi problema es que no usé el mismo nombre para Entidad y Clase. La solución trivial para arreglarlo es darles el mismo nombre.


Parecía que mis datos se habían corrompido, así que borré mi modelo de datos y la base de datos en el simulador de iPhone y comencé de nuevo.


Primero descargué los datos de la aplicación a través del Organizador (para ver qué estaba pasando) y noté que me ofreció guardarla con el nombre de un proyecto anterior. Esto me desconcertó. Así que salí de XCode 4.6.1, borré la aplicación (y sus datos) de mi iPhone y regresé.

Esta vez recibí un error que dice: Cannot create an NSPersistentStoreCoordinator with a nil model . Así que busqué en el archivo AppDelegate.m y cambié el URLForResource en el método - (NSPersistentStoreCoordinator *) persistentStoreCoodinator . Estaba configurado con el nombre de mi aplicación y lo cambié a "Modelo" para que coincida con el nombre de mi Model.xcdatamodeld.
Está funcionando ahora.


Si está utilizando MagicalRecored con Swift :

Asegúrese de usar la directiva @objc en la subclase Swift NSManagedObject para hacer que la clase sea accesible para el código Objective-C desde la biblioteca MagicalRecord

@objc(MyEntity) class MyEntity: NSManagedObject { @NSManaged var myAttribute: Int16 }


Si está utilizando la nueva sintaxis de pila de Swift 3 y Core Data:

var persistentContainer: NSPersistentContainer = { let container = NSPersistentContainer(name: "MyAppModel") container.loadPersistentStores(completionHandler: { (storeDescription, error) in if let error = error as NSError? { fatalError("Unresolved error /(error), /(error.userInfo)") } else { print(storeDescription) } }) return container }()

Entonces deberías usar esta sintaxis de recuperación:

let request: NSFetchRequest<Client> = Client.fetchRequest()

Tuve este error en la primera búsqueda después de que la aplicación se inicia al usar diferentes variaciones:

let request: NSFetchRequest<NSFetchRequestResult> = Client.fetchRequest() let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Client")


Solo agrega el mismo problema. Copié todas mis entidades. Se eliminó el modelo de datos, se volvió a crear uno vacío y se volvieron a pegar las entidades en el nuevo modelo de datos. Resuelto mi problema.


También puedes usar el método de configuración de CoraData ... Solo haz algo como esto ...

En su CustomCoreDataManager.m

importar "ObjectiveRecord.h" llama al método init como este

(tipo de instancia) init {

self = [super init];

if (self) {

[[CoreDataManager sharedManager] setModelName: @ "YourModelName"]; }

volver a sí mismo }

Espero que esto ayude a alguien ...


Yo tenía el mismo error.

Para mí, es porque he agregado una nueva versión del modelo, pero no la configuré como "Versión actual". ¡Cuídame! Para corregirlo, seleccione el xcdatamodel, haga clic en Diseño> Modelo de datos> Establecer versión actual. El archivo xcdatamodel tendrá una marca verde.

Espera que ayude.


MyEnty mismo problema, en realidad estaba llamando a MyEnty lugar de MyEntity así que vuelva a verificar qué nombres le han dado a sus entidades y llame a los mismos y también verifique si está llamando a los mismos atributos que ha definido como name