blenzcoffee
blenzcoffee

Reputation: 891

MySQL and Core Data in iOS

I want to retrieve data from remote MySQL database and store the data in my iOS app (creating "local" database, so the information can still be accessed even though there is no connection). After doing some research, Apple's Core Data API seems to be the answer. However, it's using SQLite.

Can I use Core data with MySQL? If the answer is no, is there any way to develop "local" database other than Core Data? I tried looking for the answer, but no luck. This is the closest one that I can get, but I don't really understand the answer. I am new at iOS development, so any help is greatly appreciated.

Upvotes: 4

Views: 4611

Answers (3)

manujmv
manujmv

Reputation: 6445

You cant use coredata with MySQL. Because CoreData is a local database inside the mobile and MySQL is WebServer database. So we cant combine them. Why you dont like CoreData? It is the most powerful and simple database for the mobile apps. I think CoreData suits for your purpose. If your data is something lightweight. Then you can use

  1. Plist

    http://hayageek.com/plist-tutorial/

    http://www.theappcodeblog.com/2011/05/30/property-list-tutorial-using-plist-to-store-user-data/

  2. NSCoder

    http://www.raywenderlich.com/1914/nscoding-tutorial-for-ios-how-to-save-your-app-data

Upvotes: 1

borrrden
borrrden

Reputation: 33421

Yes, you can use Core Data with MySQL if you like, but you need to write the persistent store functionality yourself, which is a fairly advanced undertaking. It doesn't seem to have any benefits though. I think it would be better to retrieve the data from the MySQL server, and then store it locally in Sqlite. MySQL requires a separate server so obviously it cannot be run locally on iOS anyway.

Upvotes: 5

artud2000
artud2000

Reputation: 544

CoreData is the way to go. CoreData is build under SQLLite but it is a relational data base --> Object Oriented mapping which makes it really convenient.

There's a graphic editor which will allow you to define your CoreData model the way you require it.

Upvotes: 0

Related Questions