It’s actually pretty easy, we just need to do some runtime method detection. Using the respondsToSelector: method of NSObject, we can test if the new API exists, and if it does we’ll call it. Otherwise, we fall back to the deprecated API. Easy:
NSData *someData = ...
NSString *base64String = nil;
// Check if new API is available
if ([someData respondsToSelector:@selector(base64EncodedDataWithOptions:)])
{
// It exists, so let's call it
base64String = [someData base64EncodedDataWithOptions:0];
}
else
{
// Use the old API
base64String = [someData base64Encoding];
}
转自:
http://iosdevelopertips.com/best-practices/eveything-you-need-to-know-about-ios-and-os-x-deprecated-apis.html
翻译:
http://www.360doc.com/content/14/0521/10/11029609_379561686.shtml