![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
移动端iOS
文章平均质量分 52
anan131435
这个作者很懒,什么都没留下…
展开
-
iOS 正则表达
public init(pattern: String, options: NSRegularExpression.Options = []) throwsNSRegularExpression的实例化方法,需要把匹配规则以字符串的形式传进去。像任何语言一样,正则有自己的保留字符如下:[] () . ? + * & ^ \ /如果你想通过正则匹配这些特殊字符,那么你需要通过backslash (反斜杠)去避开他。例如你想去搜索文本里面的.符号,那么你的pattern就需要传进去.每一门语原创 2021-01-31 14:17:47 · 97 阅读 · 0 评论 -
iOS swift 倒圆角并绘制阴影
给View倒某几个角为圆角 //倒左右上边两个圆角 let bottomPaskPath = UIBezierPath.init(roundedRect: CGRect.init(x: 0, y: 0, width: KSCreenWidth - 30, height: 60), byRoundingCorners: UIRectCorner(rawValue: UIRec...原创 2018-03-10 18:02:05 · 614 阅读 · 0 评论 -
iOS button超出父视图时点击无法响应
iOS响应链传递机制:从后向前,即从父视图到子视图循环调用 下面这两个方法- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event- (UIView *)hitTest:(CGPoint)point withEv原创 2017-11-18 10:46:05 · 716 阅读 · 0 评论 -
NSUrlConnection 网络下载
//频繁调用每次带回来一部分数据,如果此处创建一个全局变量nsmutableData 则必然会导致nsmutableData越来越大,内存暴增 //解决办法: 每次获取到一部分数据后,就将这部分数据写入到沙盒,并释放掉 //NSFileHandle 可以实现对文件的读取 写入 更新 // stringByAppendingPathComponent 这个函数会自动创建文件层级 - (void转载 2017-07-12 18:09:27 · 145 阅读 · 0 评论 -
NSString Copy Strong
@interface ViewController ()<TTTAttributedLabelDelegate,UITableViewDataSource>@property (nonatomic, strong) FooterView *footerView;@property (nonatomic, strong) UITableView *tableView;@property (no原创 2017-05-08 22:05:16 · 199 阅读 · 0 评论 -
NSOperation封装操作
1.继承NSOperation 2.复写main 或者start 3.复写 finished executing 语义 4.复写 setter 方法 5.对外API设置finished= yes#import "MMPOperation.h"@interface MMPOperation ()@property (assign, nonatomic,getter=isExecuting原创 2017-03-13 15:04:32 · 279 阅读 · 0 评论 -
OC 属性
@property会通知编译器在编译期间生成属性对应的实例变量和access method 父类的属性语义被子类改写之后,需要手动通知编译器实现access method 和生成对应的实例变量#import <Foundation/Foundation.h>@interface Person : NSObject@property (nonatomic, copy, readonly) NSS原创 2017-03-13 15:00:52 · 385 阅读 · 0 评论 -
NSOPeration NSOperationQueue
NSOperation是一个抽象类。实际开发中用它的两个子类:NSInvocationOperation NSBlockOperation//NSBlockOperation可以通过block异步执行任务,且block里面的代码是同步的- (void)blockOperationTest{ NSBlockOperation *blockOperation = [NSBlockOperatio原创 2017-02-06 11:29:04 · 204 阅读 · 0 评论 -
NSTimer循环引用不释放问题
倒计时是电商APP中经常遇到的,倒计时的技术实现,Apple的Foundation框架提供了NSTimer类 倒计时的实现如下: HZTimer.h@protocol HZTimerDelegate <NSObject>- (void)timerHandleEventWithLeftSeconds:(NSInteger)seconds;@end@interface HZTimer : NSOb转载 2016-11-28 11:24:18 · 393 阅读 · 0 评论 -
iOS 多线程
iOS提供了NSThread NSOperation & NSOperationQueue GCD 来实现多线程编程。抽象程度由低到高,越抽象越简单- (void)viewDidLoad { [super viewDidLoad]; for (int i = 0; i < 100; i++) { NSLog(@"==========%@===========%d",[原创 2016-11-16 21:52:08 · 196 阅读 · 0 评论 -
runtime给现有类动态添加方法
创建person类.h#import <Foundation/Foundation.h>@interface Person : NSObject@end.m#import <Foundation/Foundation.h>#import "Person.h"#import <objc/message.h>@implementation Person+(BOOL)resolveInstanc转载 2016-10-31 17:12:09 · 198 阅读 · 0 评论 -
RunTime交换方法的实现
#import "UIImage+HZ.h"#import <objc/message.h>//利用runtime 交互方法@implementation UIImage (HZ)//把类加载内存的时候之后调用一次+(void)load{ Method imageNamedMethod = class_getClassMethod(self, @selector(imageName转载 2016-10-31 16:13:33 · 237 阅读 · 0 评论 -
runtime理论知识
概念: SEL IMP Method OC 在编译时会根据每一个方法的名字、参数序列生成一个唯一的整型标志,这个标识就是SEL,用来表示OC运行时方法的名字,定义如下: typedef struct objc_selector *SEL; ``` IMP 实际上一个函数指针,指向方法实现的首地址typedef id(*IMP)(id,SEL,…)“`转载 2016-10-31 16:10:52 · 162 阅读 · 0 评论 -
Runtime 初次总结
在接收者所属类的方法列表里找不到selector对应的方法实现时,进入消息转发流程+ (BOOL)resolveInstanceMethod:(SEL)sel // 动态的添加一个方法 class_addMethod([self class], @selector(testMethod), (IMP)newTestMethod, "v@:"); // 添加方法的类,未识别的选择器,添加新方法转载 2016-10-31 15:40:37 · 160 阅读 · 0 评论 -
copy mutableCopy
copy mutableCopy 区别 : 1.对于非容器类不可变对象,copy是复制指针浅拷贝,mutableCopy是深拷贝系统会为其开辟新的内存。对于非容器类可变对象,都是深拷贝,但是copy返回的对象是不可变的 2.对容器类对象,以上结论一样适用,但是注意的是,容器内的元素都是指针复制转载 2016-11-08 14:23:08 · 323 阅读 · 0 评论 -
OC类型常量的使用
objective 类型常量原创 2016-10-27 10:40:21 · 477 阅读 · 0 评论 -
runtime之@dynamic属性
@dynamic属性用于通知编辑器不要生成属性对应的实例变量和setter getter 方法,但是在编译时期调用对应的存取方法不会报错,再次验证了OC是一门动态语言#import <Foundation/Foundation.h>@interface AutoDictionary : NSObject@property (nonatomic, copy) NSString *string;@转载 2016-11-07 15:28:00 · 329 阅读 · 0 评论 -
runtime 运行时
了解oc 运行时可分为以下三块: 1.概念 IMP SEL MEthod 2.消息发送流程 3.消息转发流程概念篇:SEL:oc在编译时会根据方法名和参数序列生成唯一的方法标识就是SEL IMP: SEL 对应方法实现 MEthod:在 SEL 和 IMP之间建立映射消息发送流程://第一个参数消息接收者,第二个参数 SELOBJC_EXPORT void objc_msgSend(vo转载 2016-11-03 10:49:02 · 145 阅读 · 0 评论