Odpowiedz na ten temat
Pokaż wyniki od 1 do 4 z 4

  1. Dołączył
    Mar 2011
    Postów
    11

    Cytuj | #1

    Witam,

    wie ktoś może jak zrobić, aby aplikacja uruchamiała się z kilkoma wpisami? Bo za każdym razem jak instaluje to nie ma żadnych danych.

    Dzięki.


  2. JKK
    Mężczyzna JKK jest offline
    Avatar JKK
    Dołączył
    Jan 2008
    Skąd
    Osolin
    Postów
    400

    Cytuj | #2

    Zrób bazę (wpisy) i odszukaj plik SQLite ze swojego symulatora. Potem zrób procedurę, która sprawdza czy jest już baza, jak nit to skopiuje tą Twoją gotową w miejsce standardowe.

    Np. tak (przykład z sieci przerobiony do mojego projektu):

    Kod:
    - (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
        
        if (persistentStoreCoordinator != nil) {
            return persistentStoreCoordinator;
        }
       
    	NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"EPP.sqlite"];
    
    	NSFileManager *fileManager = [NSFileManager defaultManager];
    	// If the expected store doesn't exist, copy the default store.
    	if (![fileManager fileExistsAtPath:storePath]) {
    		NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"EPP" ofType:@"sqlite"];
    		if (defaultStorePath) {
    			[fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
    		}
    	}
    	
        NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"EPP.sqlite"]];
        
        NSError *error = nil;
        persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
        if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }    
        
        return persistentStoreCoordinator;
    }
    Komputer: MacBook C2D 2,16GHz; iBook G3 600
    Telefon: iPhone 3GS 16GB White
    Tablet: iPad WiFi 32GB
    WWW: http://macwyznawca.pl/
    MacWyznawca i Apple Fanboy!
    Moje programy na iPhone i iPad'a | Na Mac OS: Faqt - Faktury na Mac OS.


  3. Dołączył
    Mar 2011
    Postów
    11

    Cytuj | #3

    Dzięki, ale nie zupełnie rozumiem. Wybacz, ale pierwszy raz korzystam z CoreData
    Jak mam odszukać plik SQLite?

    A jeszcze takie pytanie, nie można zwyczajnie usuwać wpisy a późnij dodawać np. w didFinishLaunching?

  4. JKK
    Mężczyzna JKK jest offline
    Avatar JKK
    Dołączył
    Jan 2008
    Skąd
    Osolin
    Postów
    400

    Cytuj | #4

    Ad 1. W sowim Maczku na którym kodujesz i symulator odpalasz: ~/library/Application Support/iPhone Simulator/ i tu musisz odszukać swoją aplikację i jej teczkę Documents tam znajdziesz plik xxx.sglite. Możesz go nawet edytować (rozsądnie) lub podglądać czymś do edycji baz SQLite (ja używam darmowego SQLite Database Browser.
    W moim programie w symulatorze przygotowuję sobie dane jakie chcę mieć w defaultowej bazie i ją potem używam. Może można bardziej elegancko ale tak jest skutecznie.

    Ad 2. Można, też tak robiłem - ale to przedłuża czas odpalenia aplikacji i zależnie od danych często i objętość programu.
    Komputer: MacBook C2D 2,16GHz; iBook G3 600
    Telefon: iPhone 3GS 16GB White
    Tablet: iPad WiFi 32GB
    WWW: http://macwyznawca.pl/
    MacWyznawca i Apple Fanboy!
    Moje programy na iPhone i iPad'a | Na Mac OS: Faqt - Faktury na Mac OS.

Odpowiedz na ten temat