全局布尔变量。这是iPhone上的最佳实践吗?

全局布尔变量。这是iPhone上的最佳实践吗?,iphone,objective-c,uinavigationcontroller,global-variables,Iphone,Objective C,Uinavigationcontroller,Global Variables,我想跟踪我从一个视图移动到另一个视图的时间 所以我创建了一个全局布尔来跟踪这一点 这是可行的,但这是最佳实践吗?我应该把它变成一个财产吗 谢谢 bool didNavigateToFullWebView; viewDidAppear: (BOOL) animated { if(didNavigateToFullWebView) { //Load differently depending on the last view visited. }

我想跟踪我从一个视图移动到另一个视图的时间

所以我创建了一个全局布尔来跟踪这一点

这是可行的,但这是最佳实践吗?我应该把它变成一个财产吗

谢谢

bool didNavigateToFullWebView; 

    viewDidAppear: (BOOL) animated {
     if(didNavigateToFullWebView) {
          //Load differently depending on the last view visited.
      } 
    }

    - (void) tableView: (UITableView*) tableView didSelectRowAtIndexPath: (NSIndexPath*) indexPath {  
     didNavigateToFullWebView = YES; 
 }

一种常见的做法是将所有状态放在模型类中(如“模型-视图-控制器”模式),并使模型成为单例。然后,所有全局变量都作为属性进入模型类,或者隐藏在公开可用的方法后面。这比分散的全局视图要好,因为代码的读者需要在单个位置查找应用程序的所有状态信息。下面是相关的讨论。

如果您使用的是导航控制器,您将有一个以前的视图控制器的“堆栈”(在
viewControllers
array属性中)可供依赖。