我试图了解单例的使用。我有红色要小心他们,而且他们可以有他们的积极用途。
我的场景:
目前我已经建立了一个测试项目。一个 ViewController 有一个需要执行操作的按钮。
FirstViewController 上有一个 UIWebView 。
我正在使用 Storyboard 和 ContainerView,所以我可以同时看到两个 ViewController。
在第一个 ViewController 中,我的 .m 文件中有以下代码:
static FirstViewController *sharedController = nil;
+ (FirstViewController *)sharedController {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
//BBCSermonTabBarViewController *myVC = (BBCSermonTabBarViewController *)[storyboard instantiateViewControllerWithIdentifier:@"BBCNews"];
if(sharedController == nil)
sharedController = (FirstViewController *)[storyboard instantiateViewControllerWithIdentifier:@"firstViewController"];
return sharedController;
}
而且我还有一种方法可以像这样更改 alpha:
-(void)hideWebView
{
_webView.alpha = 0.3;
}
现在在我的第二视图控制器中,我有以下代码:
-(IBAction)hideWebViewFromAnotherViewController
{
[[FirstViewController sharedController] hideWebView];
}
该操作按钮现在应该更改另一个 ViewController 中 webView 的 alpha 吗?
如果不是我做错了什么?
提前致谢:-)