Ios UISplitViewController和CoreData
我正在从事一个项目,该项目在文件夹和文件之间使用CoreData一对多关系。为了显示这一点,我使用的是UISplitViewController,文件夹显示在MasterView上,单击每个文件夹,文件显示在DetailView上。文件夹和文件都是动态添加的 我用这种方式编程创建了UISPlitViewControllerIos UISplitViewController和CoreData,ios,core-data,uisplitviewcontroller,Ios,Core Data,Uisplitviewcontroller,我正在从事一个项目,该项目在文件夹和文件之间使用CoreData一对多关系。为了显示这一点,我使用的是UISplitViewController,文件夹显示在MasterView上,单击每个文件夹,文件显示在DetailView上。文件夹和文件都是动态添加的 我用这种方式编程创建了UISPlitViewController - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
FolderViewController = [[FolderViewController alloc] initWithNibName:@"FolderViewController_iPad" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:FolderViewController];
FolderViewController.managedObjectContext = self.managedObjectContext;
fileViewController = [[fileViewController alloc] initWithNibName:@"fileViewController_iPad" bundle:nil];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController: fileViewController];
FolderViewController.fileViewController = fileViewController;
self.splitViewController = [[UISplitViewController alloc]init];
self.splitViewController.delegate = fileViewController;
self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController];
self.window.rootViewController = self.splitViewController;
}
- (void)Buttonclick
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
testViewController = [[EditViewController alloc] initWithNibName:@"EditViewController" bundle:nil];
m_editViewController.modalPresentationStyle = UIModalPresentationFormSheet;
[appDelegate.splitViewController presentModalViewController:m_editViewController animated:YES];
}
这将我的ipad一分为二。左侧是FolderViewController,右侧是FileViewController
我的主视图在任何方向上都不会隐藏
我在Master和DetailView上都有一个按钮,可以通过splitViewController以这种方式打开common EditViewController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
FolderViewController = [[FolderViewController alloc] initWithNibName:@"FolderViewController_iPad" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:FolderViewController];
FolderViewController.managedObjectContext = self.managedObjectContext;
fileViewController = [[fileViewController alloc] initWithNibName:@"fileViewController_iPad" bundle:nil];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController: fileViewController];
FolderViewController.fileViewController = fileViewController;
self.splitViewController = [[UISplitViewController alloc]init];
self.splitViewController.delegate = fileViewController;
self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController];
self.window.rootViewController = self.splitViewController;
}
- (void)Buttonclick
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
testViewController = [[EditViewController alloc] initWithNibName:@"EditViewController" bundle:nil];
m_editViewController.modalPresentationStyle = UIModalPresentationFormSheet;
[appDelegate.splitViewController presentModalViewController:m_editViewController animated:YES];
}
当我关闭此视图时,我会相应地添加文件夹或文件
我以这种方式驳斥这种观点
[self dismissModalViewControllerAnimated:YES];
我在这里没有什么疑问
1) 当我启动应用程序时,来自两个视图控制器的所有imp(主)函数都会被调用。可以吗
2) 当我在从DetailView打开时关闭此ModalView时,会调用NSFetchResultsController的委托函数,这些函数位于MasterView中。可以吗
3) 在调用这些函数时,我的逻辑在某些情况下会失败
问候
你问题中的Ranjit(第1点)没有意义。你能详细说明视图控制器的主要功能吗?你的意思是它们都是被创建的,并且调用了“init…”吗?我的意思是ViewDidLoad和ViewWillDisplay。这些方法都是由框架自动调用的,应该在加载和显示视图时调用它们。