方法的系统适配


#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


你可能感兴趣的:(方法的系统适配)