自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 iOS开发饱和,如何再向大厂进发

苹果公司最早于 2007 年 1 月 9 日的 Macworld 大会上公布一个非常牛逼的系统 一 iOS。从事开发这么久,在我的生命线,由衷的感谢这个系统!在今天所谓的大前端时代, iOS进阶 并不是这么难, iOS瓶颈 也并不在这里!以下是对iOS目前行情的理解与分析,仅仅是个人看法,勿喷iOS市场环境如果说 2018 年是 寒冬的前兆,那么 2019 年 就是 寒冬 的真正开始;相...

2019-07-30 16:14:11 302

原创 Swift:快速上手攻略

原文地址希望你读完这篇博客之后这个周末的时间请留给:SwiftSwift入门如果你是多年的OC开发。恭喜你!Swift易如反掌,几乎就跟喝水一样从OC过度Swift!真的太像了,编码思维一模模一样样!如果你是OC不是很深入。那么恭喜你!学习Swift你赚翻了!你不用克服一些多年养成诟病,简单的分号,NSLog … 那么你学习Swift更加快速!那么我们直接开始吧首先第一步:我个人推...

2019-07-30 13:37:10 278

原创 RxSwift核心逻辑的理解

**原文地址:**https://www.jianshu.com/p/0e0703466483作为ReactiveX家族之一的RxSwift在Github截止现在Star:16K.为什么这个框架如此受欢迎,作为函数响应式框架典型代表,底层实现又是如何实现的呢?这一篇文章全面解密RxSwift核心流程RxSwift这个优秀的框架,设计的api也是非常精简,让陌生的用户也能非常快速上手...

2019-07-29 15:46:44 152

原创 最新:iOS 13 适配

iOS 13 如期而至,虽然正式版还没出来,但是适配工作可以开展起来啦。在适配 iOS 13 过程中,遇到了如下一些问题。1. UITextField 的私有属性 _placeholderLabel 被禁止访问了遇到的第一个崩溃是修改UITextField的placeholder的颜色,历史遗留代码如下:[_textField setValue:self.placeholderColor ...

2019-07-26 15:47:11 1543 1

原创 iOS开发--事件传递,响应者链条及常见面试题

在iOS中只有继承UIResponder的对象才能够接收并处理事件,UIResponder 是所有响应对象的基类,在UIResponder类中定义了处理上述各种事件的接口。我们熟悉的 UIApplication、 UIViewController、 UIWindow 和所有继承自UIView的UIKit类都直接或间接的继承自UIResponder,所以它们的实例都是可以构成响应者链的响应者对象,首...

2019-07-24 15:36:58 484

原创 自定义View的书写注意事项

关于自定义View的初始化方法关于addSubview关于layoutSubviews关于frame与bounds一、关于自定义View的初始化方法通常我们会创建私有方法createUI方法来创建当前自定义View所需要的子View。那上述所说的createUI应该放在自定义View的哪个方法中呢?1、init?2、initWithFrame?3、还是为了考虑外部创建自定义...

2019-07-17 15:00:34 177

原创 iOS - 学习 Aspects 源码

序言AOP (Aspect-oriented programming) 译为 “面向切面编程”,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP 目前是较为热门的一个话题,尽管你也许没有听说过它,但是你的项目中可能已经渗入了它,例如:用户统计(...

2019-07-10 14:45:56 960 1

原创 iOS面试题:NSCache,NSDictionary,NSArray的区别

1. NSArrayNSArray作为一个存储对象的有序集合,可能是被使用最多的集合类。性能特征在数组的开头和结尾插入/删除元素通常是一个O(1)操作,而随机的插入/删除通常是 O(N)的。有用的方法NSArray的大多数方法使用isEqual:来检查对象间的关系(例如containsObject:)。有一个特别的方法indexOfObjectIdenticalTo:用来检查指针相...

2019-07-06 15:33:13 1507

原创 iOS面试题:MVVM和MVC的区别

MVVM和MVC的区别1. MVCMVC的弊端厚重的View ControllerM:模型model的对象通常非常的简单。根据Apple的文档,model应包括数据和操作数据的业务逻辑。而在实践中,model层往往非常薄,不管怎样,model层的业务逻辑不应被拖入到controller。V:视图view通常是UIKit控件(component,这里根据习惯译为控件)或者编...

2019-07-04 14:26:35 6585

原创 认识CALayer

layer和view的关系开始开发都是从view开始,而且很长一段时间可能都只认识到view,而只会在某些角落看见layer,比如圆角,比如coreAnimation动画,还有绘制内容时也使用CALayer,所以对于layer的首要疑问肯定是:这货跟view到底什么关系?来段文档:Layers provide infrastructure for your views. Specific...

2019-07-03 13:31:30 187

原创 iOS面试题:UIView block动画实现原理

在了解UIView block动画实现原理之前,需要先了解CALayer的可动画属性。1. CALayer的可动画属性CALayer拥有大量的属性,看CALayer的头文件内容,会发现很多的属性的注释中,最后会有一个词叫做Animatable,直译过来是可动画的。下面的截图只是CALayer众多可动画属性中的一部分(注意frame并不是可动画的属性)/* The bounds of the ...

2019-07-02 13:36:02 916

原创 iOS面试题:事件传递和响应机制

1. 事件的产生发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中,为什么是队列而不是栈?因为队列的特点是FIFO,即先进先出,先产生的事件先处理才符合常理,所以把事件添加到队列。UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)。主窗口会在视图层次结构中找...

2019-07-01 14:25:56 621

原创 UIWindow,UIView,CALayer的区别

1. UIWindow@interface UIWindow : UIView@property(nonatomic) UIWindowLevel windowLevel; // default = 0.0@property(nonatomic,readonly,getter=isKeyWindow) BOOL keyWindow;- (void)be...

2019-07-01 14:24:57 208

空空如也

空空如也

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

TA关注的人

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