[英]Swift: Using Protocols to create private class instance
我真的是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
,我想在其中創建User的實例?
您可以在需要的任何類中重新制作該函數
func createUser(name: String) -> User {
return MyUser(name)
}
然后說
let newUser = createUser("WhateverName")
或者你可以做:
let newUser = User().createUser("WhateverName")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.