2016-05-24 64 views
0

我對Swift非常陌生,並試圖理解如何使用協議擴展來解決問題。因此,這裏是我的協議: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從一個完全不同的類/協議,在這裏我想創建用戶的實例?

回答

-1

任何類,你需要它

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

然後說

let newUser = createUser("WhateverName") 

你可以改造的功能,或者你可以這樣做:

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