我一直认为UIAlertController
很方便, 因为它整合了UIAlertView
和UIActionSheet
两者的功能, 并且使用block, 大大提高了代码效率;
但是, 最近在做的项目 测试的时候出现了这么一个问题, 不兼容iOS7系统, 所以我需要加一个系统判定, 如果是iOS7, 调用UIAlertView和UIActionSheet, 重写相对应的方法,等于做了重复的工作, 倒不如一开始都用老的控件, 也不用判断了.
所以写到这 我就想问了, 既然不兼容, 那我以后还有使用它的必要吗?
这两套起到相同作用的控件, 实现着几乎一样的功能, 它们各自的使用场景分别是什么呢?
iOS8中废弃了UIAlertView和UIActionSheet
UIAlertView https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAlertView_Class/index.html
UIActionSheet https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIActionSheet_Class/index.html
你不知道什么时候这些旧的特性会被真的移除掉,为了让程序能在新版本上正常运行,用新特性是很有必要的
写一个自定义Alertview 在内部封装UIAlertview和新的alertcontroller 在里面写判断系统的逻辑 外部调用不用关心 这样只需一次判断系统中是否存在这个新的控件
弃用了的类和api可以继续使用,但是苹果不会维护和增加新功能了。
如果废弃了api满足当前项目需求,当然可以继续使用。
实际项目中,开发时间也是很重要的指标。同时维护两套api很明显会增加开发时间和开发成本。
当然,新推出的类和api代表趋势和方向,当然也必须掌握~
UIAlertView 在iOS8以后 可能会发生异常Bug而已。
可以自己封装一个