Iphone 支持以前的iOS版本和不推荐的方法的功能的最佳方式

Iphone 支持以前的iOS版本和不推荐的方法的功能的最佳方式,iphone,ios,ipad,uiimage,image-resizing,Iphone,Ios,Ipad,Uiimage,Image Resizing,StretchableMageWithLeftCapWidth:topCapHeight:是用于将图像大小调整为低于5.0的iOS的方法,但在iOS 5中,该方法已被弃用,而iOS 5中有一个新的可调整大小的ImageWithCapInsets: 在iOS小于5且greeter小于5的情况下,支持调整图像大小的最佳方法是什么? 我知道的第一件事是使用responseToSelector方法。但是也许有人知道另一个例子。支持版本通常非常简单,唯一要避免的陷阱是使用条件构建来决定支持哪些功能,因为这

StretchableMageWithLeftCapWidth:topCapHeight:是用于将图像大小调整为低于5.0的iOS的方法,但在iOS 5中,该方法已被弃用,而iOS 5中有一个新的可调整大小的ImageWithCapInsets: 在iOS小于5且greeter小于5的情况下,支持调整图像大小的最佳方法是什么?
我知道的第一件事是使用responseToSelector方法。但是也许有人知道另一个例子。

支持版本通常非常简单,唯一要避免的陷阱是使用条件构建来决定支持哪些功能,因为这需要为每个版本使用特定的二进制文件

我会用这样的方式:

NSString* featureVersion = @"5.0";
NSString* systemVersion = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
{
     [object someIOS5SpecificMethod];
}
else
{
     [object alternateMethod];
}
要使用特定于版本的类,您可以始终使用类似于:

Class class = NSClassFromString(@"iOS5OnlyClass");
if (class)
{
   id object = [[class alloc] init];
}

支持版本通常非常简单,要避免的唯一陷阱是使用条件构建来决定支持哪些功能,因为这需要为每个版本使用特定的二进制文件

我会用这样的方式:

NSString* featureVersion = @"5.0";
NSString* systemVersion = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
{
     [object someIOS5SpecificMethod];
}
else
{
     [object alternateMethod];
}
要使用特定于版本的类,您可以始终使用类似于:

Class class = NSClassFromString(@"iOS5OnlyClass");
if (class)
{
   id object = [[class alloc] init];
}