標籤:
對於系統中過時的方法或者是為了向下相容相容不同的版本使用最新的方法都要判斷當前的系統版本號碼,在進行方法的調用
1.系統方法過時的注釋
````objc
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo NS_DEPRECATED_IOS(2_0, 3_0);
說明方法在2.0時代引入,3.0時代過時
````
2.系統不同版本方法的相容性解決方案(這個比較好,不會產生警告)
````objc
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0
if([picker respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){
[picker dismissModalViewControllerAnimated:YES completion:nil];
}
else
#endif
{
[picker dismissViewControllerAnimated:YES completion:nil];
}
````
3.系統不同版本方法的相容性解決方案2(書寫方便,但是會產生警告)
````objc
if([picker respondsToSelector:@selector(imagePickerController:didFinishPickingMediaWithInfo:)]){
[picker dismissViewControllerAnimated:YES completion:nil];
}else{
[picker dismissModalViewControllerAnimated:YES];
}
````
ios開發的系統相容性問題解決