全局bool变量。这是iPhone上的最佳做法吗?

时间:2012-04-22 01:24:24

标签: iphone objective-c uinavigationcontroller global-variables

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

所以我创建了一个全球性的bool来跟踪这一点。

这有效,但这是最佳做法吗?我应该把它作为财产吗?

谢谢!

bool didNavigateToFullWebView; 

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

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

1 个答案:

答案 0 :(得分:1)

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