SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
4.
Mini intro a Core Data
★ Core Data =
persistencia de
objetos
★ Piezas fundamentales:
๏ Managed Object Model
๏ Persistent Store
๏ Persistent Store
Coordinator
๏ Managed Object Context
๏ Managed Object
5.
La foto de Core Data
MO MO MO MO MO
Managed Object Context
Persistent
Store Coordinator Managed Object
Model
Persistent Persistent
Store Store
7.
Mini intro a iCloud
★ Almacena tus datos y
los redistribuye a
todos tus
dispositivos.
๏ Independiente de la
app.
★ Tres mecanismos
๏ Key-value store
๏ UIDocument /
UIManagedDocument
๏ Core Data
8.
Key-Value store
★ Almacenamiento tipo pList.
★ Limitado a 64k.
★ Sin conflictos = el último
gana.
★ Idealpara las preferencias
comunes no críticas.
8
9.
Documentos
★ Contenedor ubicuo
★ NSMetadataQuery para buscar y ver
★ Implementa NSFilePresenter y usa
NSFileCoordinator para coordinar.
★ Conflictos resueltos a medida.
★ Para documentos distintos
sincronizados individualmente.
9
10.
La foto de iCloud
File 1
NSFilePresenter
File 2
File i
NSFileCoordinator
File n
11.
Core Data
★ Preparada para integrarse con
iCloud
๏ SQLite persitent store (también
Atomic).
๏ Base de datos local.
๏ Sólo migraciones lightweight.
★ Para aplicaciones tipo
biblioteca (“shoebox”)
11
12.
La foto de iCloud
NSPersistentStoreDidImportUbiquitousContentChangesNotification
logs =
cambios
13.
La foto de iCloud
NSPersistentStoreDidImportUbiquitousContentChangesNotification
logs =
cambios
NSFilePresenter
File 1
NSFileCoordinator File i
File n
15.
Core Data con iCloud
★ Casi todo se mantiene igual.
★ Cada persistent store se añade con las
opciones:
‣ NSPersistentStoreUbiquitousContentURLKey
‣ NSPersistentStoreUbiquitousContentNameKey
★ Al añadir el persistent store
๏ Asíncronamente.
๏ Con sección crítica (lock/unlock).
★ Atender a la notificación:
‣ NSPersistentStoreDidImportUbiquitousContentChangesNotification
15
16.
Además del código
★ App ID con iCloud activado.
★
16
17.
Además del código 2
★ Entitlements
TeamID
implícito
17
18.
El resto de ficheros
★ Los correspondientes view
controllers implementan
NSFilePresenter.
★ Los ficheros se acceden y
modifican con
NSFileCoordinator.
18
20.
Inicio asíncrono
★ Al conectarse a Core Data la
primera vez, puede haber
datos ya enviados desde otros
dispositivos.
★ La creación del persistent
store debe ser asíncrona (GCD
es tu amigo).
20
21.
Depuración
★ Sólose puede probar en los
dispositivos.
★ Perono es necesario 2 (al
menos al principio).
๏ Se puede sincronizar con Mac OS
X.
21
22.
Datos iniciales
★ Sin iCloud: Persistent store
precreado en el bundle y copiado a
NSDocumentDirectory (o Library).
★ Eso no funciona con iCloud porque
sólo se transmiten los cambios al
persistent store.
★ EXPERIMENTANDO CON:
‣ migratePersistentStore:toURL:options:withType:error:
‣ NSMetadataQuery
22