
iOS进阶之路
从事iOS开发5年了,希望能将技术提升到更高一级。中级级别。主要对一些框架的更全面的认识。
沐雨07
Keep Learning!
展开
-
iOS进阶之协议Protocol(13)
协议Protocol转载 2019-12-11 19:24:37 · 448 阅读 · 0 评论 -
iOS进阶之架构设计MVC(1)
做iOS开发已经有5个年头了,应用开发已经比较熟练了,也来到了一个迷茫的阶段,彷佛触到了技术天花板。其实心知肚明,业务功能实现是比较得心应手了,但是在更高级的顶层设计方面还欠缺的很多。因此,必须转变思想,不能再从实现功能角度来提高自己的技术,而是要从实现的方法,方式上提高自己。写出具有通用性、灵活性、隔离性等角度的代码。多看源码。从头梳理一下框架设计知识。MVC 框架设计模式Model...原创 2019-08-07 11:41:34 · 667 阅读 · 1 评论 -
iOS进阶之架构设计MVP(2)
上一篇 iOS进阶之架构设计MVC(1) 中刚弄清了什么是真正的MVC,以及MVC对于大型项目的缺点。这里来学习一下架构设计MVP。MVP最有价值球员?no,no,no!是从MVC中又抽象出了P层, 即Presenter层。MVP的面向协议式的编程思想。那么MVP模式又是怎样的呢?请看下图从上图可以看出, 从MVC中又抽象出了P层, 即Presenter层Controller其实将v...原创 2019-08-07 16:36:27 · 738 阅读 · 1 评论 -
iOS进阶之架构设计MVVM的理解(3)
iOS进阶之架构设计MVC(1)iOS进阶之架构设计MVP(2)前言:前两篇文章已经理解MVC、MVP的设计模式。特别是MVP,比较难以理解,不好把握。需要多多实践,对比、来优化P段,找到最适合自己的写法。有了MVP的理解之后,就像走过来一段嘿嘿的山洞,一下豁然开朗。见到了世外桃源。MVVM的设计模式是结构比较清晰的。我们来看一下。一、MVVM组成MVVM由3部分组成:Model 、...原创 2019-08-15 20:03:39 · 1387 阅读 · 1 评论 -
iOS进阶之架构设计MVVM的实现示例(4)
实践是检验真理的唯一真理。让我们来看个简单的实现MVVM设计的demo例子吧。MVVM加深理解MVVM模式将Presenter改名为ViewModel,基本上与MVP模式完全一致。唯一的区别是,它采用双向绑定(data-binding) : View<->ViewModel, ViewModel作为Model中值的映射,是数据发生改变时,通知View中发生改变,以后不需要考...原创 2019-08-16 19:32:41 · 2178 阅读 · 1 评论 -
iOS进阶之架构设计MVVM的实现示例(5)
MVVM的核心在于:(个人意见) 1.MVVM的双向绑定; 2.Model与View解耦;选用RAC实现MVVM架构,不是必要的,重要的实现架构,也可以自己用KVO实现,这里推荐使用Facebook开源的KVOController 框架。一.MVVM架构ZBMVVMSimpleViewController协调viewModel绑定model,view绑定viewModel;- (v...原创 2019-08-17 15:43:16 · 1766 阅读 · 2 评论 -
iOS进阶之架构设计MVVM模式仿新闻项目(6)
这是MVVM的第三篇文章了,之所以花这么多文章来介绍MVMM,就是为了加深对MVVM的理解,以及从不同demo的角度,对比分析那种是最适合自己的模式。这篇的demo转自文章iOS使用MVVM模式仿新闻项目一、项目的结构设计1、首页展示模块...原创 2019-08-22 10:59:05 · 526 阅读 · 1 评论 -
iOS进阶之iOS中实例变量与属性的区别(7)
前言在编写OC代码时,我们已经很熟练了使用@property关键字声明属性,以及如下声明实例变量:@interface MyViewController :UIViewController{ NSString *name;}@end但是这两者的区别不是很清楚,只知其然不知所以然。以及涉及到setter、getter 方法声明。今天就从新深刻学习一下。...原创 2019-09-04 16:19:26 · 822 阅读 · 2 评论 -
iOS进阶之类扩展(Extension)(8)
进阶阶段要求对底层有一定的认识,要对原理有刨根问底的执着精神。要对知识有全面的认识,要对细节以及注意问题有独特的见解。Extension时经常被面试者提到的问题。Extension 类扩展可以理解为Category的一个特例,可以用来给当前类添加属性和新方法。其名字可为匿名(为空),也可起一个意义相关的名字。并且新添加的方法一定要予以实现. (Category没有这个限制)。最熟悉的陌生人其...原创 2019-09-04 17:13:55 · 887 阅读 · 2 评论 -
iOS进阶之类别(Category)(9)
类别使用场景见解一Category的主要作用是为已经存在的类添加方法。Objective-C 中的 Category 就是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。见解二Category类别是Objective-C语言中提供的一个灵活的类扩展机制。类别可以在不获悉、不改变原来代码的情况下往一个已经存在的类中添加新的方法。类别只能添...原创 2019-09-06 09:40:41 · 391 阅读 · 0 评论 -
iOS进阶之atomic一定是线程安全的吗(10)
IOS项目中nonatomic和atomic分析//有两个属性,分别设置为nonatomic和atomic#import <UIKit/UIKit.h>@interface ViewController : UIViewController@property (nonatomic, strong) NSString *name;@property (atomic, ass...原创 2019-09-06 17:33:26 · 5626 阅读 · 1 评论 -
iOS进阶之架构设计MVVM模式实践(11)
1.下面通过一个实例来体会一下MVVM架构模式,下面是该工程的一级目录如下,每层之间的交互是用Block的形式来实现的工程目录说明:1.Request:文件夹下存储网络请求的类,下面会给出具体的实现2.Config:就是工程的配置文件3.Resource:就是工程的资源文件,下面有图片资源和Storyboard文件资源4.Tools是:工具文件类,存放工具类,比如数据正则匹配等。5....原创 2019-09-11 11:28:12 · 450 阅读 · 1 评论 -
iOS进阶之架构设计MVC、MVP、MVVM(12)
转载自:iOS架构模式MVC、MVP、MVVM(内附demo)文章对比了MVC、MVP、MVVM,结构清晰,示例简单,容易让人接受。所以转载至此。以供自己赏读。MVCMVC的实现思路是:用户操作View,在Controller层完成业务逻辑处理,更新Model层,将数据显示在View层。在MVC中,每个层之间都有关联,耦合比较紧,在大型项目中,维护起来比较费力。View把控制权交给Con...原创 2019-09-11 19:38:59 · 957 阅读 · 5 评论