自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 iOS分层架构设计

iOS的应用一般情况下,无非就是用户与界面间交互,形成操作指令,然后对数据进行增删改查, 发起网络请求。当业务过于复杂时,我们就可以采用分层架构设计。这样可以最大程度上解耦,这里,我们主要介绍最经典的三层架构设计模型。大体上,分别为:应用层、服务层、数据层。也有分4层的,把数据层在拆分为数据持久层和信息系统层.Tips: 我们常用的MVC、MVP、MVVM等都是属于应用层内的架构,也就是说,它们主要是为应用层解耦等。而本文提到的分层架构是针对整个项目而言。而架构设计是宏观的、全面的将设计组织起来

2021-08-29 20:23:18 1397

转载 iOS架构:MVC, MVP, MVVM以及VIPER

在这里可以看到幻灯片你可能在阅读这篇文章之前已经问过自己一些问题,比如说:谁应该拥有联网请求:Model还是Controller, 或者viewModel, presenter?谁该处理数据(包括服务器数据,本地数据),谁该处理展示逻辑?针对这些问题的不同回答就产生了不同的架构.为什么要纠结选择什么架构呢?假如有一天,你在调试一个实现了几十种功能的庞大的类时,你会发现自己很难找到并修复你的类中的任何错误。并且,很难把这个类作为一个整体来考虑,因此,你总会忽略一些重要的细节。如果你的应用程

2021-08-24 23:42:11 884

转载 iOS crash分类,Mach异常、Unix 信号和NSException 异常

前言Crash的主要原因是你的应用收到了未处理的信号。未处理信号可能来源于三个地方:kernel、其他进程、以及App本身。因此,crash异常也分为三种:Mach异常:是指最底层的内核级异常。用户态的开发者可以直接通过Mach API设置thread,task,host的异常端口,来捕获Mach异常。 Unix信号:又称BSD 信号,如果开发者没有捕获Mach异常,则会被host层的方法ux_exception()将异常转换为对应的UNIX信号,并通过方法threadsignal()将信

2021-08-08 17:16:47 2219

转载 iOS 底层原理 + 逆向 文章汇总

iOS 底层原理objc4 源码相关 0、底层源码探索方式iOS-底层原理 01:源码探索的三种方式 1、对象底层:结构体+alloc分析iOS-底层原理 02:alloc & init & new 源码分析iOS-底层原理 03:objc4-781 源码编译 & 调试iOS-底层原理 04:NSObject的alloc 源码分析iOS-底层原理 05:内存对齐原理iOS-底层原理 06:malloc 源码分析 思路 2、对象的本质:isa+isa属性分

2021-08-08 11:03:08 236

转载 iOS 内存在操作系统上体现

导读最近笔者所在公司的iOS App端在经历了几个版本的疯狂的业务迭代,几个主要模块例如首页、分类在最近的几次迭代中变得越来越重,最终在最近的新版本暴露出了性能问题。AdHoc包中设置的内存报警最近经常被触发阀值 线上的监控日志的性能相关的crash明显增加由于不排除之后的版本这几个一级模块的业务会变的越来越重,也为了技术进阶,笔者开始着手于本次内存相关的deep learning和内存优化工作。专题简述关于内存优化,笔者希望从下面三个方面进行整理和论述1、原理篇:OS&iOS

2021-08-08 09:35:48 408

转载 Xcode特性Address Sanitizer,对比僵尸对象

昨天发现微博的圈子里iOS学习氛围比较好,所以特意注册了一个新浪微博。无意中在微博里看到了@没故事的卓同学的文章Xcode7中你一定要知道的炸裂调试神技,介绍Xcode7中新增了AddressSanitizer工具可以捕获EXC_BAD_ACCESS。然而Xcode中不是已经有了Zombie了么?怎么又出来了一个Address Sanitizer,他们有什么区别呢?AddressSanitizer VS Zombie原理zombie: zombie的原理是用生成僵尸对象来替换dealloc的实

2021-08-08 08:47:28 1855

转载 iOS信号量报错crash细分

常见信号SIGTERM SIGSEGV SIGINT SIGILL SIGABRT SIGFPE更多的信号量定义在<signal.h>, 这里截取了部分常见的Defined in header <signal.h>#define SIGTERM /*implementation defined*/#define SIGSEGV /*implementation defined*/#define SIGINT /*implementation define

2021-08-07 17:53:09 2529

转载 iOS利用UIScrollView的pagingEnabled自定义翻页宽度

用到UIScrollview的翻页效果时,有时需要显示一部分左右的内容,但是UIScrollView的PagingEnabled只能翻过整页,下面几个简单的设置即可实现关键点:1. 创建一个继承UIView的视图PageView,并设置clipsToBounds= YES2. 添加一个UIscrollView控件,将其宽度设置为自定义翻页的宽度3. 设置UIScrollview 的clipsToBounds= NO4. 确保PageView的宽度大于UIScrollView的宽度用于显示

2021-08-04 15:04:27 2276

ios swift 直播动画demo

swift的 , 会OC的看无压力 , 直播中送礼物的动画, 写了常见的4种 , 包括 同时收到多个礼物时 , 展示位不够 的处理 , 可以到cocoaChina上找,那里不要积分

2018-07-04

NSArray越界崩溃解决方法

比较完美的解决了数组越界的问题, 在debug模式下会崩溃 , 在release不会崩溃 , 开发过程中 , 方便调试 , 正式环境中 减少崩溃.

2018-05-08

空空如也

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

TA关注的人

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