Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6948385
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T13:48:57+00:00 2026-05-27T13:48:57+00:00

FMDB Wrapper VS Core Data : which is easier to use & maintain? I

  • 0

FMDB Wrapper VS Core Data : which is easier to use & maintain?

I am confused because FMDB is very old but still many developers are using it, while Core Data is new and is only supported by 3.0 and later sdk.

Some have said that FMDB is easy to use and some said Core Data. Please help me so I can go in the right direction.

Thanks in Advance

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T13:48:58+00:00Added an answer on May 27, 2026 at 1:48 pm

    I have used both heavily across a lot of projects now.

    FMDB is very straightforward, if you know SQL it can even be pretty easy to use. But what you have to do through the lifecycle of an app as the data model changes is:

    1. Change the data model, typically with something like Base
    2. Change SQL code to reflect model changes
    3. Change data objects to reflect model changes
    4. Add code into app to handle case where you encounter the older
      database.

    What Core Data brings to the life cycle is this:

    1. Data model and objects are changed with the same action (I’m
      assuming you generate data objects with something like mogenerator).
    2. Easier visualization of data model.
    3. Encourages easier to traverse data models by making you think about
      inverse relationships.
    4. Often auto-migration is enough to transition through simple model
      changes without having to rebuild the DB from scratch.
    5. Core Data offers some iCloud integration via NSManagedDocument.

    The hell that Core Data puts you through is:

    1. Deletion sucks, because any access of properties in a deleted object
      throws a program killing exception.
    2. Background thread data access sucks, because Core Data makes it
      complex to work properly with multiple threads – you cannot for
      example use a data object you obtained from a context in one thread
      in another different thread. So much for simply passing objects to
      background threads for work with…
    3. There is so much magic swirling around your data that WHEN things go
      wrong it will be terribly frustrating trying to figure out what to
      do.
    4. Core Data seems terribly fragile, things like the deleted objects throwing exceptions, using from the wrong thread throwing exceptions, validations throwing exceptions, or the whole model vanishing after what seemed like a simple change are all possibilities.

    So what would I recommend? To paraphrase the old quote about Democracy, Core Data is the worst data persistence system – except for all the others. Even with the new definition of pain and suffering that Core Data will bring to your life, it is still less work and easier to work with than FMDB or other data persistence layers.

    FMDB is more straightforward and if you are OK putting lots more time into changes and data model definition that may be OK. But generally I would recommend people bite the bullet and use Core Data unless there is a clear reason not to.

    A few quick tips:

    • Never delete anything in Core Data while the UI is up and possibly
      accessing objects.
    • If possible treat the database as disposable and be able to rebuild
      content, so that if automigration does not work the user can still
      run the app.
    • Keep all Core Data activity on the main thread and only put in the
      background as a last resort.
    • Do not under any circumstance use Core Data validations, or ever uncheck the “optional” box foray field in your entities. Which would you rather have, a bad value slip into your model that may end up displaying funny or the app simply crashing?
    • Use mogenerator to generate data objects from your model. It outputs objects that are directly tied back to the model that re-generation can change, and a layer of objects sort of “above” that that start out blank but into which you can add custom logic around the data objects and will not be altered when the lower objects are regenerated.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using FMDB, which is a wrapper for SQLite. http://github.com/ccgus/fmdb Here is my
I'm sure this is very easy but I'm trying to get the fmdb sqlite
I am using FMDB wrapper to store data in sqlite. I am facing problem
I'm trying to get data from a database using FMDB but having tried with
Storing data permanently in an iPhone is usually done using Core Data or sqlite3.
So here is the deal, I am using FMDB SQLite Wrapper for my DB
I am trying to use FMDB to insert a few queries into the DB.
In my ios app, I use FMDB to connect to the sqlite3 db. In
I am developing iPhone application using SQLite . I decided to use fmdb .
i am using FMDB wrapper i used this code - (BOOL)update:(NSString *) Body fromValue:(NSString

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.