从另一个类重置扩展文件 userdefualt

Posted

技术标签:

【中文标题】从另一个类重置扩展文件 userdefualt【英文标题】:reset extension file userdefualt from another class 【发布时间】:2018-12-01 02:36:00 【问题描述】:

从扩展方法之外的函数重置计数 userdefualt。在这种情况下,它的功能很简单。现在代码从 0 开始,除非我可以使用 func 来阻止代码上升,否则只会继续。

extension UIViewController 
func updateVisitCount() 
    let key = String(describing: type(of: self))
    let count = UserDefaults.standard.value(forKey: key) as? Int ?? 0
    UserDefaults.standard.set(count + 1, forKey: key)


 class easy: UIViewController 
@IBAction func delete() 
//reset let count to 0

【问题讨论】:

【参考方案1】:

再做一个功能就可以了

extension UIViewController 
   func updateVisitCount() 
     let key = String(describing: type(of: self))
     let count = UserDefaults.standard.value(forKey: key) as? Int ?? 0
     UserDefaults.standard.set(count + 1, forKey: key)
   
   func clearVisitCount() 
     let key = String(describing: type(of: self))
     UserDefaults.standard.set(0, forKey: key)
   


class easy: UIViewController 
   @IBAction func delete() 
  //reset let count to 0
   self.clearVisitCount()
  

【讨论】:

以上是关于从另一个类重置扩展文件 userdefualt的主要内容,如果未能解决你的问题,请参考以下文章

Python和PySide:从另一个文件调用函数时变量值重置

“BindingSource不能是它自己的数据源” - 尝试从另一个类中的方法重置绑定源时出错

Java:从另一个类扩展侦听器方法的功能

如何从另一个类(它扩展了 Activity)方法,Android 调用 CCColorLayer 类的方法?

React Navigation 5 - 在导航到它之前从另一个选项卡中的另一个堆栈重置堆栈(类似于 popToTop())

如何通过以角度从另一个模板调用来重置文本字段