2012-06-26 46 views
1

是有什麼問題的核心數據xcode 4.3.2 我正在關注的Stanford Paul Hegarty class for ios 5.0 做核心數據演練(Video 14 Core data demo) 我下載herePhotomania-斯坦福保羅赫加蒂的

我跑它xcode 4.3.2但核心文件數據似乎不起作用,因爲沒有出現tableview中的條目。 我試圖在另一臺電腦上運行它xcode 4.2ios 5.0 它的工作完美 任何人遇到同樣的問題?我很確定xcode有問題。

+0

歡迎來到Stack Overflow。請標記作業問題。另外,請注意清楚地提出您的問題。 –

+0

請更具體一點 - 「核心數據似乎不起作用」是什麼意思?錯誤消息,截圖,代碼片段 - 任何信息都是真正的 - 是提出問題的先決條件。我們無法猜測您電腦的設置,或者您的代碼,或者出了什麼問題。如果你想要一個答案,你必須自己提供這些信息。除此之外,請注意,不一定每個人都知道Photomania示例項目是什麼 - 至少,有一個鏈接可以閱讀它。 :) –

+0

抱歉。我已經更新了我的問題,並且我是新來的。感謝您的提示。 :) – angelmacaraig

回答

2

有趣。我有同樣的問題,我也使用XCode 4.3,但只是認爲這是因爲你需要和我沒有的Flickr許可證。 (在FlickAPIKey.h,有#define FlickrAPIKey @"",如果你沒有這樣的鍵,你就不會下載任何東西。)

更新:我給自己買了一個Flickr API鍵(你可以得到一個從他們的網站),並試用了XCode 4.3上的Photomania應用程序:它像一個魅力,所以它看起來像XCode不是你的問題在這裏。 (儘管有時我發現我必須停止並重新啓動XCode才能擺脫一個奇怪的錯誤或編譯器錯誤。)無論如何,也許這是一個想法,在您再次嘗試之前先刪除數據:只需在運行之前刪除該應用程序它和數據庫文件也會被刪除。

+0

感謝您回答我的問題。我下載了IOS 5.0模擬器,它工作。我也有自己的API密鑰。涼。非常感謝! – angelmacaraig

2

Paul Hegarty在他的課後發表了他的代碼的更新版本,它有一個調用來保存CoreData數據庫的代碼!這可能是您的CoreData信息不會持續存在的原因。

他更新注意是:

// should probably saveToURL:forSaveOperation:(UIDocumentSaveForOverwriting)completionHandler: here! 
// we could decide to rely on UIManagedDocument's autosaving, but explicit saving would be better 
// because if we quit the app before autosave happens, then it'll come up blank next time we run 
// this is what it would look like (ADDED AFTER LECTURE) ... 
[document saveToURL:document.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:NULL]; 

所以,你必須在「fetchFlickrDataInDocument」功能添加了「文件saveToURL」線是這樣的:

- (void)fetchFlickrDataIntoDocument:(UIManagedDocument *)document 
    { 
     dispatch_queue_t fetchQ = dispatch_queue_create("Flickr fetcher", NULL); 
     dispatch_async(fetchQ, ^{ 
      NSArray *photos = [FlickrFetcher recentGeoreferencedPhotos]; 
      [document.managedObjectContext performBlock:^{ 

// perform in the NSMOC's safe thread (main thread) 
       for (NSDictionary *flickrInfo in photos) { 
        [Photo photoWithFlickrInfo:flickrInfo inManagedObjectContext:document.managedObjectContext]; 
        // table will automatically update due to NSFetchedResultsController's observing of the NSMOC 
       } 

       // should probably saveToURL:forSaveOperation:(UIDocumentSaveForOverwriting)completionHandler: here! 
       // we could decide to rely on UIManagedDocument's autosaving, but explicit saving would be better 
       // because if we quit the app before autosave happens, then it'll come up blank next time we run 
       // this is what it would look like (ADDED AFTER LECTURE) ... 
       [document saveToURL:document.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:NULL]; 
       // note that we don't do anything in the completion handler this time 

      }]; 
     }); 

    } 
0

如果有人依然面臨着同樣的問題使用Objective-C,在獲取API密鑰後還需要做一件事:在FlickrFetcher文件夾的文件中將所有http://更改爲https://。這對我有效。