【发布时间】:2012-12-06 21:20:34
【问题描述】:
好的,我正在尝试通过 AppDelegate 将字符串从一个视图控制器传递到另一个视图控制器。发生这种情况时,我想保持当前视图。
这是我目前用于执行此操作的代码主体:
AppDelegate *dataCenter = (AppDelegate *)[[UIApplication sharedApplication] delegate];
MyMealViewController *vc = [[MyMealViewController alloc] initWithNibName:nil bundle:nil];
dataCenter.selectedMenuItem = recipeLabel.text;
[self presentViewController:vc animated:YES completion:NULL];
当我运行程序时,我能够确认字符串是否正确传递。但是,模拟器上的视图只是变黑。我认为这是因为 initWithNibName 设置为 nil。
所以我的问题是:我应该如何更改我的代码以使字符串仍然可以传递,但当前视图将继续显示在 iphone 上。有没有我可以编写的代码行来重新加载当前视图?
感谢您对此问题的帮助。我是 xcode 的新手,所以我可能会犯一个非常基本的错误。如果有任何其他信息有助于回答这个问题,请告诉我。
【问题讨论】:
-
你有与你正在实例化的视图控制器相关联的笔尖吗?
-
为什么您的 selectedMenuItem 不是您的视图控制器之一的属性?
-
很抱歉,我不知道如何创建 nib 文件。你能帮我解决这个问题吗?
-
你不需要创建一个在这种情况下分配你的视图控制器 [[MyMealViewController alloc] init]
-
问题是如果我这样做了,那么一旦字符串被传递,模拟器中的屏幕就会变成黑色。我想我需要一种方法来重新加载当前屏幕。