Domanda

La questione è piuttosto semplice. So che c'è SQLite. C'è anche Core Data. Ma ho bisogno di una via di mezzo. Più orientato agli oggetti di SQLite API e più semplice di Core Data.

I punti principali sono:

  • I necessitano di un accesso alle entità memorizzate solo da id. Nessun query necessari.
  • ho bisogno di memorizzare gli elementi di un solo tipo, vuol dire che posso usare solo un tavolo, se scelgo SQLite.
  • voglio la conversione automatica object-relational. O oggetto-storage se l'archiviazione non è relazionale.

posso usare l'archiviazione oggetto, ma devo implementare le cose (NSArchiver).

Ma voglio scrivere un qualche tipo di classe e di ottenere la persistenza automaticamente. Come si può essere fatto con Hibernate / ActiveRecord / Core Data / etc.

Grazie.

È stato utile?

Soluzione

Al di là BNRPersistence , che Alex fa notare, non credo che sei andando a trovare qualcosa che mantiene relazioni oggettuali, ma è più semplice di core Data sulle piattaforme di cacao. Un involucro oggetto intorno SQLite come FMDB si richiede ancora da gestire relazioni nel proprio codice.

Il mantenimento di relazioni tra gli oggetti è un compito non banale, ed è per questo che si vede così pochi di questi quadri là fuori. Core Data ottiene il diritto per molte persone, quindi non c'è molto la motivazione tra gli sviluppatori di costruire un'alternativa alla soluzione di Apple. BNRPersistence è stato creato da Aaron Hillegass' la frustrazione di lunga data con alcuni aspetti della Core Data, ma molte persone (come me) sono perfettamente soddisfatto del modo in Core Data fa quello che fa.

Si potrebbe anche voler guardare Nucleo Resource , un quadro più recente che fornisce alcuni wrapper intorno Core Data per rendere più facile le operazioni più comuni.

Altri suggerimenti

tutto quello che hai detto che si vuole qui è completamente compatibile con Core Data. Apple ti dà una soluzione che soddisfi le vostre esigenze dichiarati esattamente, allora perché stai cercando di evitarlo?

Si potrebbe prendere in considerazione un approccio non-Objective-C a oggetti serializzazione, proprio come XML o JSON, dove non c'è bisogno di scrivere codice di serializzazione, se non si vuole, perché il quadro che fa per voi. Per esempio, mettere gli oggetti in un valore-chiave di attributo abbinamento con NSDictionary (tramite una classe wrapper o qualsiasi altra cosa) che punta a chiave id di un altro record, e quindi codificare il pasticcio con jSON-quadro 's JSONRepresentation chiamata. si sarebbe probabilmente bisogno di fare i propri test di integrità rapporto, ma voilà, istante database relazionale.

Date un'occhiata al BNRPersistence .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top