iOS用户角色最佳实践

时间:2015-03-22 01:42:19

标签: ios swift uiviewcontroller storyboard

我正在构建一个应用,其中一些用户可以比其他用户更多地访问功能。这个概念是一些用户是父母,其他人是孩子,父母可以添加家务,例如,孩子则不能。我想知道实现这种设置的最佳实践包括:

1。我应该为父母和孩子分别设置故事板和风险投资吗?对于父母以及其他屏幕,某些页面上应该存在一些按钮和功能。

2。这是在用户类中拥有角色属性的最佳方法吗?

3。一般而言,对于在用户(比如一个家庭)之间共享信息的应用程序,什么是设计的最佳实践?

如果有人碰巧有这种东西的Swift示例代码,那么看看我刚开始使用iOS会非常有帮助。

提前谢谢你。

2 个答案:

答案 0 :(得分:3)

一般来说,

1)否。如果两个页面之间只有很小的视觉差异,您应该隐藏/更改用户不应该看到的元素。如果用户需要特殊视图,只需在故事板中创建该视图,并仅在适当时显示该视图。

2)要执行上述操作,您可以在用户实体上拥有指示用户“类型”的属性,或者您可以根据角色拥有多个用户对象,并根据实体类型显示/隐藏UI元素。

3)这是一个非常广泛的问题,实际上取决于应用的大小和复杂程度。

所有这一切都非常笼统。有许多因素可以决定执行此操作的最佳方式,包括:从哪里导入或创建用户,数据的敏感性,不同类型用户的数量或“权限集”。

答案 1 :(得分:0)

TL;博士

我对同样问题的解决方案:

  1. user-roles enum
  2. 用户类
  3. 上的用户角色属性
  4. CurrentUser singleton
  5. 示例代码

    enum UserRole {
        case Admin
        case FremiumUser
        case PayingUser
        }
    }
    
    struct User {
         var name = "J. Doe"
         var roles = [UserRole]()
    }
    
    CurrentUser {
        // Singleton pattern
        static let sharedUser = CurrentUser()
        private init() {}
        var user = User()
    }
    

    讨论

    我正在构建一个分享您挑战的应用程序。受装饰模式和/或面向协议编程的启发,我目前的想法是拥有一个用户角色枚举,由我的属性持有用户类,可通过全局单例CurrentUser对象访问。每个屏幕(视图控制器,视图,你有什么)都可以检查当前用户的角色,并做出适当的反应。

    思想?