我有一个授权的应用程序,每个用户有不同的数据要显示。我也有在应用程序中的角色-管理员或教师。因此,当用户登录时,我需要检测用户的ID和他的角色。有了这两个值,我需要在整个应用程序工作(显示正确的数据)。我该怎么做呢?我只是想用一个全局变量。还有别的选择吗?
1全局变量是最糟糕的方法,因为它们可以通过简单的赋值秘密地设置到整个应用程序。
2快速&肮脏的方法是拥有应用程序委托的属性。您可以使用NSApplication
的共享实例从任何地方访问应用程序委托,请求它的委托。这样做的好处是使用方法来读写状态,因此优于1。
3最好的方法是,将值传递给任何必须知道它的控制器。这是因为第二种方法依赖于应用程序委托。因为这是特定于应用程序的,所以你不能重用所有需要这些信息的类,即使角色和ID的类是标准类。
作为回报,你有更多的代码要输入。但你是开发人员,不是秘书。: -)