自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jaydon_MC

Coding changes life

  • 博客(17)
  • 收藏
  • 关注

原创 iOS的消息转发机制

OC由于运行时特性,可以在运行期间动态添加方法,这个寻找动态添加的方法的过程就是动态消息转发。iOS的消息转发机制分为三个步骤:动态方法解析、快速消息转发机制、标准消息转发机制(一)动态方法解析首先是征询接收者所属的类,看其是否能动态添加调用的方法,来处理当前这个未知的选择子;-(BOOL)resolveInstanceMethod:(SEL)selector或者+(BOOL)res...

2019-07-08 18:13:09 7050

原创 RunLoop

1. 简介 RunLoop可以理解为一个do-while循环:function loop(){ initialize(); do{ event = getEvent(); HandleEvent(event); }while(isWeakUp); }当然肯定还有一些其他的处理逻辑在内部,才能保证其一一对应的线程能够在有任务时被唤醒,没有任务时休眠。OSX/iOS系统提供...

2019-06-21 15:50:40 598

原创 NSTimer循环引用

NSTimer循环引用+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;开发过程中肯定会用到计时器,一般都会选择NSTimer,由于time...

2019-06-21 14:49:51 292

原创 Flutter开发环境搭建

(一)首先下载解压Flutter SDK https://storage.googleapis.com/flutter_infra/releases/stable/macos/flutter_macos_v1.0.0-stable.zip(二)把flutter SDK添加到环境变量PATH 中 vim ~/.bash_profile编辑文件 export PU...

2019-01-24 10:39:06 421

原创 HTTP和TCP协议,三次握手四次挥手

一、HTTP是什么http(HyperText Transfer Protocol),超文本传输协议,是互联网上最广泛的一种网络传输协议,所有www文件都必须遵守的一个标准,是以ASCII码传输,建立在TCP/IP协议上的应用层规范。用于从www服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输。http可以说成是一种客户端和应答服务器端请求和应答的标准((TCP)。通...

2019-07-15 17:04:03 449

原创 KVO实现原理和代码实现

键值观察通知依赖于NSObject两个方法:willChangeValueForKey:和didChangeValueForKey:在一个被观察属性发生改变之前,willChangeValueForKey:一定会被调用,这就会记录旧的值。而改变发生后:observerValueForKey:ofObject:change:context:会被调用,继而didChangeValuueForKey:也...

2019-07-12 15:19:10 226

原创 Category、load、initialize

根据runtime的消息发送机制,核心函数void objc_msgSend(void /* id self, SEL op, … */ )发送消息,先从当先类的方法列表中查找调用方法,如果没有找到,则会向上寻找其父类中的方法列表。对于category重写了主类中的方法,OBJCKaTeX parse error: Expected group after '_' at position 17...

2019-07-09 11:31:58 245

原创 nil、Nil 、NULL、NSNull

nil:指向Objective C语言中对象的空指针,其定义值为(id)0。Nil:指向Objective C语言中类的空指针,其定义为(Class)0.NULL:指向c语言中标准的空指针,其定义为(void*)0.NSNull:在Objective C语言中的集合对象中,表示空对象,用在不能使用nil的场合,如[NSArray addObject:[NSNull null]若obj为ni...

2019-07-09 11:29:08 332

原创 事件传递和响应机制

苹果文档https://developer.apple.com/documentation/uikit?language=objc(一)事件传递过程苹果注册了一个source1(基于mach port)用来接收系统事件,其回调函数为_IOHIDEventSystemClientQueueCallback()。当一个硬件事件(触摸、摇晃锁屏等)发生后,首先由IOKit.framework生成一...

2019-06-25 18:12:07 845

原创 LeetCode(三)无重复字符的最长子串(Longest Substring Without Repeatinng Characters )--------(OC版本)

Given a string, find the length of thelongest substringwithout repeating characters.Example 1:Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2:Input...

2019-03-19 21:20:08 269

原创 LeetCode(一)求两个数之和( Two Sum)--------(OC版本)

Given an array of integers, returnindicesof the two numbers such that they add up to a specific target.You may assume that each input would haveexactlyone solution, and you may not use thesamee...

2019-03-14 17:58:25 939 5

原创 去APP Store评分撰写评论方案

(一)      跳转APP Store的方式,在APP Store应用内进行评分实现方式:以[[UIApplicationsharedApplication]openURL:url的方式去评分iOS 7.0以后 的url :@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReview

2018-01-12 17:09:12 4575

原创 合并真机和模拟器的framework的可执行文件

lipo -info 可执行文件的路径 查看信息lipo -create  真机framework的可执行文件的路径  模拟器framework的可执行文件的路径 -output  真机framework的可执行文件的路径这样就轻松的合并到真机的framework里面了

2017-07-24 17:50:42 384

原创 AppDelegate 内的方法在APP生命周期触发的时机和顺序

首先介绍一下各个方法触发的时机- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {    // Override point for customization after application launch.

2017-06-15 14:15:35 724

原创 iPhone信号强度显示----信号格与数字之间的相互切换

在拨号键盘中输入*3001#12345#* 然后按下”呼叫”按钮

2017-06-13 14:40:29 2079

原创 UITextField、UITextField限制字符串中文与其他类型文字的长度

UITextField UITextView 字符串长度 汉字与数字 汉字与字母

2017-06-13 14:27:10 331

原创 iOS 用StackView的第三方FDStackView,有时会出现crash,'NSInternalInconsistencyException', reason: 'Multiplier is

在项目中用stackView 但是考虑到系统适配的问题,至少适配与iOS7.0以上版本,所以就用了FDStackView神器.用的时候模拟器可能不会出现问题,但是一真机调试就会crash,原因:'NSInternalInconsistencyException', reason: 'Multiplier is not finite! That's illegal. multiplier:nan...

2016-04-10 12:29:55 1523

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除