2011-06-28 113 views
0

我正在看/做iTunes U斯坦福iPhone課程。 (免費提供!)。我正在試圖找出核心數據的狗仔隊計劃。CoreData幫助---如何調試?

下面是我如何將數據保存到coreData,我如何驗證這些信息實際上得到了保存?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    FlickrFetcher *ff = [FlickrFetcher sharedInstance]; 

    if (![ff databaseExists]) 
    { 
     NSString *path = [[NSBundle mainBundle] pathForResource:@"FakeData" ofType:@"plist"]; 
     NSArray *data = [NSArray arrayWithContentsOfFile: path]; 
     NSManagedObjectContext *managedObjectContext = [ff managedObjectContext]; 
     NSError *error = nil; 

     for (NSDictionary *row in data) 
     { 
      Person *person = (Person *)[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:managedObjectContext]; 
      Photo *photo = (Photo *)[NSEntityDescription insertNewObjectForEntityForName:@"Photo" inManagedObjectContext:managedObjectContext]; 

      photo.name = [row objectForKey:@"name"]; 
      photo.url = [row objectForKey:@"path"]; 
      person.name = [row objectForKey:@"user"]; 

      [person addPhotosObject:photo]; 
     } 

     [managedObjectContext save:&error]; 
    } 

回答

0

在你的代碼會檢查是否errornil您發送後​​消息給managedObjectContext,或者說表達的返回值是否爲YES。如果是這種情況,則意味着在上下文中保存更改時沒有錯誤。

如果您只是想手工檢查(例如,之前已經運行過代碼),您當然可以在某些瀏覽器中打開SQLite數據庫,並檢查數據是否存在。 對於Firefox的SQLite管理器擴展是一個很好的工具。

+0

sqllite數據庫在哪裏? –

+0

我在〜/ Library/Application Support/iPhone Simulator/4.3.2/Applications/UUID/Documents中找到它 –