#import "ViewController.h"
// 判断系统版本的宏
#define iOS(v) ([UIDevice currentDevice].systemVersion.doubleValue >= (v))
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
/*
[@"jack" respondsToSelector:@selector(length)] // 判断是否有-length这个对象方法
[@"jack" length]
[NSString respondsToSelector:@selector(length)] // 判断是否有+length这个类方法
[NSString length]
[NSString instancesRespondToSelector:@selector(length)] // 判断是否有-length这个对象方法
[@"" length]
respondsToSelector:方法的作用:
判断左边对象能否调用右边的方法
instancesRespondToSelector:方法的作用:
判断左边类的实例对象能否调用右边的方法
*/
// btn就是UIButton类的实例对象(instance)
// UIButton *btn = [[UIButton alloc] init];
NSCalendar *calendar = nil;
if ([NSCalendar respondsToSelector:@selector(calendarWithIdentifier:)]) {
calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
} else {
calendar = [NSCalendar currentCalendar];
}
NSString *version = [UIDevice currentDevice].systemVersion;
/*
NSOrderedAscending 升序(右边 > 左边)
NSOrderedSame 相等、相同
NSOrderedDescending 降序(右边 < 左边)
*/
if ([@"" respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]) { // iOS系统版本 >= 7.0
}
if (NSClassFromString(@"UIAlertController")) { // iOS系统版本 >= 8.0
}
if (NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_8_0) { // iOS系统版本 >= 8.0
}
if ([version compare:@"8.0"] != NSOrderedAscending) { // iOS系统版本 >= 8.0
}
if (version.doubleValue >= 8.0) { // iOS系统版本 >= 8.0
}
/*
NSCalendar *calendar = nil;
if (iOS系统版本 >= 8.0) {
calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
} else {
calendar = [NSCalendar currentCalendar];
}*/
}
@end
方法的系统适配
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 有一些方法在很久之前就有的,在高版本的系统上使用可能会有问题,此时就需要判断用户的系统版本来选择执行哪一种方法了....
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...