例如,假设我的iOS应用程序支持iOS 7.0,我想发出提醒。在iOS 7中,我会使用UIAlertView
。在iOS 8/9中,UIAlertController
已弃用此功能。我是否必须检查if currentVersion > iOS7
,然后创建两个警报,iOS7为alertView
,iOS8 +为alertController
?或者可以在iOS7应用程序中使用UIAlertView
,即使它最终将在iOS9 +设备上运行?
我是否需要检查当前的iOS版本,并在这样的简单事项中实现多个对象(每个版本一个)?
答案 0 :(得分:1)
弃用只是注意在将来的版本中可能会删除某项功能。不过,弃用的类或方法仍然有效。
因此,您可以继续使用{
id:1,
str:'<h4>Click Here</h4><br><input type="button" value="OK">'
}
,并面临未来iOS版本中断的风险。它仍可在iOS 9上运行。但不保证它将继续在iOS 10上运行。
这里最好的解决方案是check whether UIAlertController
is available at runtime。如果是,请将该类用于提醒,否则请回退到UIAlertView
。
您通常不检查iOS版本!最好检查一个方法或类是否可用,除非在极少数情况下Apple 显式告诉您检查iOS版本:当一个被认为是私有的方法时会发生这种情况由Apple公开。