iOS

问题 答案

2016-09-19  本文已影响2人  我不讲道理的

1.@synthesize和@dynamic分别有什么作用?
如果你没有写@synthesize pro = _pro 或者 @dynamic pro = _pro 默认实现的是@synthesize

作用@synthesize:方法的合成器 通过@synthesize pro = pro 把实例变量的属性和属性进行绑定,而且实现了setter和getter方法。而且在setter和getter方法内部的属性使用的是_pro。
作用@dynamic:动态的合成器,计算机默认用户将会手动重写setter和getter方法,但是当你在程序中不写上述方法时,xcode不会报错,但是你在程序运行时,用到了属性的setter或getter方法时,而你又没有重写对应的方法时,程序就会奔溃,这就是动态合成。

2.NSTimer在tableView滑动时不执行

因为NSTimer的便利构造器默认加入的RunLoop等级是NSRunLoopDefaultMode,但是tableView滑动时所执行的RunLoop等级UITrackingRunLoopMode是,所以在NSTimer开火之前把NStimer加入NSRunLoopCommonModes中。但是好对时间精度有影响。

待续。。。

上一篇下一篇

猜你喜欢

热点阅读