iOS 中 有意思的事情

判断系统的版本代码:

//系统版本大于~~
#define SYSTEM_VERSION_GREATER_THAN_TO(v) ([[[UIDevice currentDevice]systemVersion]compare:v options:NSNumericSearch]!=NSOrderedAscending)

//系统版本小于~~
#define SYSTEM_VERSIOM_LESS_THAN(v) ([[[UIDevice currentDevice]systemVersion]compare:v options:NSNumericSearch]==NSOrderedAscending)


//在6.0到6.1版本内才会执行
    if ((SYSTEM_VERSION_GREATER_THAN_TO(@"8.0"))&&(SYSTEM_VERSIOM_LESS_THAN(@"8.1")))
    {
                   //执行
    }

枚举

上文中 NSOrderedAscending 是枚举类型 为-1,相关如下

typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

在某些版本中替换掉系统的方法


//要替换系统方法的类 UIImagePickerController
//shouldAutorotate 要替换的方法
        Method oldMethod1=class_getInstanceMethod([UIImagePickerController class], @selector(shouldAutorotate));
//新写的方法
        Method newMethod1=class_getInstanceMethod([ImagePickerReplaceMethodsHolder class], @selector(shouldAutorotate));
//执行替换
        method_setImplementation(oldMethod1, method_getImplementation(newMethod1));
        
        
        Method oldMethod2=class_getInstanceMethod([UIImagePickerController class], @selector(preferredInterfaceOrientationForPresentation));
        Method newMethod2=class_getInstanceMethod([ImagePickerReplaceMethodsHolder class], @selector(preferredInterfaceOrientationForPresentation));
        method_setImplementation(oldMethod2, method_getImplementation(newMethod2));

交换两个类方法

method_exchangeImplementations(m1, m2);
//交换两个方法的实现时候使用

替换类中的方法

class_replaceMethod替换类方法
1.当类中没有想替换的原方法的时候,该方法会调用class_addMethod来为该类增加一个新方法
2.当需要替换的方法可能不存在的时候,可以考虑该方法

OC中大写自动分割代码

        //a 97  大 A65
        NSString * string=@"MyNameIsYinYuGuang";
        NSRegularExpression * regexp=[NSRegularExpression regularExpressionWithPattern:@"([a-z])([A-Z])" options:0 error:NULL];
        NSString * newString=[regexp stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, string.length) withTemplate:@"$1 $2"];
        NSLog(@"Changed '%@'->'%@'",string,newString);

我是demo
QQ交流群 298975638

你可能感兴趣的:(iOS 中 有意思的事情)