【问题标题】:Swift: Using Protocols to create private class instanceSwift:使用协议创建私有类实例
【发布时间】:2016-09-22 05:41:00
【问题描述】:

我对 Swift 非常陌生,并试图了解如何使用协议扩展来解决问题。所以这是我的协议:

public protocol User: class {
    var name : String {get}
}
private class MyUser: User {
    var name : String

    init(name: String) {
        self.name = name
    }
}
extension User where Self:User {
    func createUser(name: String) -> User {
        return MyUser(name)
    }
} 

如何从完全不同的类/协议中调用此函数createUser,我想在其中创建用户实例?

【问题讨论】:

    标签: ios swift protocols private


    【解决方案1】:

    你可以在任何你需要的类中重新制作函数

    func createUser(name: String) -> User {
          return MyUser(name)
    }
    

    然后说

    let newUser = createUser("WhateverName")
    

    或者你可以这样做:

    let newUser = User().createUser("WhateverName")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多