Could someone please explain this. Are SQLite and CORE DATA two different technologies? I was under the impression that a SQLite database is created in your app when you create a core data app, and that you use the core data api to access it?
Also, I have struggled to find information on learning SQLite or Core Data with swift and xcode 7. Would anyone have any suggestions for books etc to understand it all. How do people learn this stuff. Do most people just use the Apple tutorials and docmentation.
Sorry if I'm sounding like I'm scrambling/clawing for knowledge. I am
Dave.
The default backing store used by Core Data is indeed SQLite, but the API completely encapsulates that. So from an app programming perspective there is only Core Data. You never construct SQL queries, iterate result sets etc. - you use the Managed Object API that Core Data supplies. The fact that it uses SQLite under the hood is irrelevant. They (or you) could change it to a different backing store if you want and it should not affect your app code.
No idea how people learn Core Data. 🙂 I haven't tackled it myself. So far I've just used SQLite directly (well, using the FMDB wrapper) with good results. I've been using SQL off and on for ~20 years so it's not a big jump for me. If you are starting from scratch then Core Data, even with its steep learning curve, is probably a better way to go.