像很多人前來我一樣 - 我以「我是iOS新手」爲開端。我在這裏和那裏問了幾個問題。TabBar項目 - 桌面視圖中的核心數據
我有一個項目,我正在使用tabbar項目進行設置。
我在底部有4個選項卡,其中之一是「編輯」,當用戶點擊它們時顯示一個帶有月份選擇器的視圖。當他們選擇月份時 - 屏幕應該加載一個tableview,填充來自coredata的相應月份條目。
我在我的應用程序委託中設置了coredata - 但我很好奇,然後如何在應用程序中更深入地獲取信息到我的tableview中?
我已經通過THIS TUTORIAL on coredata工作過,並且在執行master-detail項目時已經能夠正常工作,但這是我工作的一個tabbar項目。
我一直在使用storyboard的大部分佈局。
我不斷收到錯誤,當我嘗試使用這條線在viewDidLoad中:
NSManagedObjectContext *context = [self managedObjectContext];
的錯誤是:
No visible @interface for 'myEditPageViewController' declares the selector 'managedObjectContext'
我進口:
#import "myEditPageViewController.h"
#import "myAppDelegate.h"
#import "CoreData/CoreData.h"
我現在viewDidLoad看起來像這樣(我從一些在線挖掘 - 記住,我對這個東西很新):
self.context = [self context];
if (self.context == nil)
{
self.context = [(myAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init];
NSManagedObjectContext *context = [self managedObjectContext];
有什麼想法?我試圖將該教程應用到我的應用程序 - 但由於它不是主細節,因此還有其他視圖。試圖讓它工作來顯示coredata信息!
感謝您的解釋 - 它真的幫助。很顯然,我對這些東西有了很好的理解還有很長的路要走 - 但是獲得者/制定者應該有所幫助。我的背景是編程,通常我會跳到項目中,然後飛到我的褲子的位置,直到我開始工作。 :)你通過解釋幫助了很多。 Achievelimitless從本質上講同樣的東西 - 但更加濃縮。我希望我可以將兩者都標記爲可接受的答案。 – Hanny
您確實不應該調用應用程序委託來獲取託管對象上下文;相反,你應該把它傳遞給堆棧。謝天謝地,Apple終於把這個建議放到了他們的文檔中https://developer.apple.com/library/mac/documentation/DataManagement/Conceptual/CoreDataSnippets/Articles/stack.html#//apple_ref/doc/uid/TP40008283-SW1 – Abizern
@Abizern .. Thanx的實物信息。我完全不知道這一點。我對此有一些疑問。我發佈了[這個問題](http://stackoverflow.com/questions/21050408/how-to-get-managedobjectcontext-for-viewcontroller-other-than-getting-it-from- ap)。請儘可能解釋。謝謝 –