在oc世界里,我们为了给一个类的属性赋值时做一些处理 *** 作,主要通过重写getter和setter方法,但是在swift世界里,是通过属性的willSet和dIDSet(属性监视器)来达到这个效果的
willSet is called just before the value is stored.
dIDSet is called immediately after the new value is stored.
var Title: String { willSet { print( "will set ") NSThread.sleepForTimeInterval(2) } dIDSet { print("dID set") self.backgroundcolor = UIcolor.graycolor() } }
我们在属性Title的值即将改变之前 为了更好理解willSet 和dIDSet,我们让线程休眠2s,改变之后,让vIEw的背景色变为gray.
在touchesBegan方法里改变属性Title的值
overrIDe func touchesBegan(touches: Set<UItouch>,withEvent event: UIEvent?) { testV.Title = "test"}
果然不出意料,点击之后打印will set 然后2s后打印dID set 并且bgcolor变为了gary
总结以上是内存溢出为你收集整理的swift - Property Observers全部内容,希望文章能够帮你解决swift - Property Observers所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)