我有一个用户类,它认为,特定的用户,认证状态并告诉我羯羊或不是我的用户数据的标记的细节的全局实例已检索:一个变量添加监听器一类
// Users class
class user_Global {
static let shared_Instance = user_Global()
var is_Retrieved : Bool = false
var is_Authenticated : Bool = false
var user : users_Status = users_Status.init(name: "Global user", is_Master: false, EY_ID : "N/A", ey_Email : "N/A", UUID : "N/A")
}
// Structure
struct users_Status{
var user_Name : String!
var is_User_Master : Bool!
var user_EY_Email : String!
var user_UUID : String!
var user_EY_ID : String!
init(name : String!, is_Master : Bool!, EY_ID : String! ,ey_Email : String!, UUID : String!){
self.user_Name = name
self.is_User_Master = is_Master
self.user_EY_Email = ey_Email
self.user_UUID = UUID
self.user_EY_ID = EY_ID
}
}
进一步在我的应用程序,我有几个功能,我只允许通过身份验证的用户,问题是,这种状态可以改变任何时间。我如何添加一个监听器到这个变量中,例如我的user_Global.shared_Instance..
对我的后续类执行操作。
我确实想过使用协议委托方法,但无法使其运作。不知何故,我的协议符合类没有调用协议的功能。
编辑1
class user_Global {
var refresh_Delegate : user_Data_Refresh!
static let shared_Instance = user_Global()
var is_Retrieved : Bool = false
var is_Authenticated : Bool = false{
didSet{
print(oldValue)
print(is_Authenticated)
}
}
var user : users_Status = users_Status.init(name: "Global user", is_Master: false, EY_ID : "N/A", ey_Email : "N/A", UUID : "N/A"){
didSet{
if user.is_User_Master == true{
print("The user has MASTER Permissions")
user_Data_Refresh.refresh_User_State() // This is the line where is get an error
}else{
print("Master Auth was terminated!")
}
}
}
}
// Protocol :
protocol user_Data_Refresh {
func refresh_User_State()
}
PS:有一次,我检索从我的数据库中的值user
被更新。确认数据已被检索is_Retrieved
标志。
感谢您的回复,请参阅编辑。我想调用一个协议函数,但我无法。我已upvoted你的答案..我有一个问题如何使我的其他类符合我的协议执行委托功能。感谢所有的帮助。 – Dravidian
更新了答案。 –
谢谢..是... – Dravidian