Ios 更改在didFinishLaunchingWithOptions中创建的控制器中NSString的值,然后重新加载该控制器
我想更改leftMenuViewController中存在的NSString的值并重新加载它,以便根据新数据更改逻辑 我想更改每个控制器中的NSString,但我无法更改,因为leftMenuViewController在didFinishLauchingWithOption中启动,该选项只加载一次Ios 更改在didFinishLaunchingWithOptions中创建的控制器中NSString的值,然后重新加载该控制器,ios,Ios,我想更改leftMenuViewController中存在的NSString的值并重新加载它,以便根据新数据更改逻辑 我想更改每个控制器中的NSString,但我无法更改,因为leftMenuViewController在didFinishLauchingWithOption中启动,该选项只加载一次 我该怎么做?您可以在leftMenuViewController中创建refresh方法,或者创建NSString的属性。 在Appdelegate文件中定义SideMenuViewControll
我该怎么做?您可以在
leftMenuViewController
中创建refresh
方法,或者创建NSString
的属性。
在
Appdelegate文件中定义SideMenuViewController*leftMenuViewController,并将其设置为
property,
合成它。现在,您可以使用
NSString`刷新您的
leftMenuViewController,方法如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
// iPhone Classic
NSLog(@"iPhone 4");
}
if(result.height == 568)
{
// iPhone 5
NSLog(@"iPhone 5");
}
}
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
SideMenuViewController *leftMenuViewController = [[SideMenuViewController alloc] init];
ContainerOfSideMenuByVeerViewController *container = [ContainerOfSideMenuByVeerViewController
containerWithCenterViewController:[self navigationController]
leftMenuViewController:leftMenuViewController];
self.window.rootViewController = container;
[self.window makeKeyAndVisible];
return YES;
}
请你把问题描述得更清楚些好吗。你的要求是什么?你需要更清楚地说明这一点;你到底想发生什么?更改NSString
后是否尝试更新UI?更改AppDelegate*AppDelegate=[UIApplication sharedApplication]代码>到AppDelegate*AppDelegate=(AppDelegate*)[[UIApplication sharedApplication]委托]代码>它不会刷新或重新加载控制器,但它只会更改leftViewController中一个变量的值,但我想在重新加载包含时更改该变量,只需再次调用其ViewDidLoad,清楚吗?谢谢。我将使用共享对象,但我真正的问题是什么呢?而不是用applicationwillenter方法编写代码
AppDelegate *appDelegate = [UIApplication sharedApplication];
[appDelegate.leftMenuViewController refresh:yourStr];