iOS如何解决某些方法低版本不支持的问题
来源:互联网 发布:php 数组写法 编辑:程序博客网 时间:2024/05/01 04:14
#import "NSString+avoidCrash.h"#import <objc/runtime.h>@implementation NSString (avoidCrash)+(void)load{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ SEL systemSel = @selector(containsString:); Method systemMethod = class_getInstanceMethod([self class], systemSel); //如果没有找到,说明不包含此方法,需要动态添加此方法 if (systemMethod == NULL) { SEL customSel = @selector(customContainsString:); Method customMethod = class_getInstanceMethod([self class], customSel); BOOL isAdd = class_addMethod(self, systemSel, method_getImplementation(customMethod), method_getTypeEncoding(customMethod)); if (!isAdd) { NSLog(@"%@ runtime add method 'customContainsString:' failed",NSStringFromClass([self class])); } } });}-(BOOL)customContainsString:(NSString *)str{ NSRange range = [self rangeOfString:str]; if (range.location < self.length && range.length > 0) { return YES; } return NO;}@end
在实际的开发过程当中,经常会遇到一些方法低版本不支持的问题,往往需要加很多判断,造成代码很多,程序很冗余,总而言之就是不爽。
0 0
- iOS如何解决某些方法低版本不支持的问题
- ios 解决低版本Xcode不支持高版本iOS真机调试的问题
- 快速解决低版本Xcode不支持高版本iOS真机调试的问题
- 快速解决低版本Xcode不支持高版本的iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试的问题
- 解决低版本Xcode不支持高版本iOS真机调试的问题
- 低版本ie不支持eval方法的解决
- 解决低版本ie下li:hover不支持的问题
- 更新SDK后ADT版本低不支持问题的解决
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 快速解决低版本Xcode不支持高版本iOS真机调试问题
- 低版本的ie不支持trim()方法
- bootstrap解决IE低版本不支持HTML5问题
- sqlite数据库的版本更替
- Mysql索引
- 关于屏幕适配的学习(support-screens)
- ubuntu14.04 navicat 过期破解
- springMVC学习笔记之配置
- iOS如何解决某些方法低版本不支持的问题
- 实现popupWindow类似效果的activity
- Spring基础知识(7)-Aspectj
- android设置webview的适配比例,setInitialScale 方法神奇的功能
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
- 【Leetcode】 Second Highest Salary
- Synchronized
- 连接数据库超时设置autoReconnect=true
- Box2d源码学习<三> 内存管理之栈的实现