E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
iOS-错误汇总
iOS-
常用小技巧-01
一、去掉tableviewcell的左边多余的15像素1.可以改变tableviewcell的样式为self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone;然后在自定义的cell下面加上一个UIview在底部,设置UIview的颜色为分割线的样式即可2.同样设置tableviewcell的样式为self.tableView.s
Mr_Bob_
·
2021-06-24 07:49
iOS-
监听多个UITextField的输入事件来限制字数
textfield输入监听.gif定制navigationBarself.navigationBar.tintColor=[GOVCommoncolorForKey:@"mainBlueColor"];self.navigationItem.title=@"实人认证";[self.navigationBarsetTitleTextAttributes:@{NSForegroundColorAttr
fly大梦想家
·
2021-06-24 02:42
iOS-
底层原理 01:源码探索方法
本文旨在介绍如何查找到所属的。有以下三种方法,以alloc为例介绍。1.跟流程alloc打断点方式Xcode左上角位置,如图所示:image.png在符号断点输入allocalloc断点在ViewController中的LGPerson处断点注意:在走到alloc断点之前,需要关闭上面新增的符号断点,原因是因为alloc的调用有很多,如果开启了就不能准确的定位到LGPerson的alloc方法。L
没有昵称的昵称没有
·
2021-06-23 18:36
iOS - 分类中同名方法的调用顺序(转)
iOS-
分类中同名方法的调用顺序https://blog.csdn.net/appleLg/article/details/79931742iOS类方法load和initialize详解https://
大佬的世界我不懂
·
2021-06-23 10:40
iOS-
底层原理 28:GCD 之 底层原理分析
iOS底层原理文章汇总本文是队列创建、同步/异步函数、单例、信号量以及调度组的底层原理分析队列创建在上一篇文章
iOS-
底层原理26:GCD之函数与队列中,我们理解了队列与函数,知道队列的创建时通过GCD
Style_月月
·
2021-06-23 10:55
iOS-
逆向05-选择和指针
《iOS底层原理文章汇总》1.cmp(Compare)比较指令 CMP把一个寄存器的内容和另一个寄存器的内容或立即数进行比较。但不存储结果,只是正确的更改标志。 一般CMP做完判断后会进行跳转,后面通常会跟上B指令!BL标号:跳转到标号处执行B.LT标号:比价结果是小于(lessthan),执行标号,否则不跳转B.LE标号:比较结果是小于等于(lessthanorqeualto),执行标号
一亩三分甜
·
2021-06-23 06:36
iOS-
底层原理28-Block底层原理
《iOS底层原理文章汇总》上一篇文章《
iOS-
底层原理27-锁和Block》介绍了NSLock,NSCondition,NSConditionLock,条件变量和条件锁的底层原理及三种类型Block,本文接着介绍
一亩三分甜
·
2021-06-22 22:41
iOS-
给View添加虚线
Quartz2D绘制-(void)addBorderToLayer2:(UIView*)view{CAShapeLayer*shapeLayer=[CAShapeLayerlayer];[shapeLayersetBounds:view.bounds];[shapeLayersetPosition:CGPointMake(CGRectGetWidth(view.frame)/2,CGRectGet
丶奔波儿灞
·
2021-06-22 20:29
【
iOS-
设计模式】创建型之单例模式
单例模式是一种很常见的设计模式,单例理解起来也很简单,就是不管如何访问始终只有一个实例化对象,定义全局共享的变量,如果对象是空则初始化一个对象,如果对象已经存在则使用已经实例化的对象。单例设计模式的作用是使得这个类的一个对象成为系统中的唯一实例,因此需要用一种唯一的方法去创建这个对象并返回这个对象的地址。下面有一张苹果官网的图片可以参考一下:单例模式定义一个Work类,项目共享同一个工作处理类,定
GSNICE
·
2021-06-22 20:17
iOS-
底层原理31-启动优化
《iOS底层原理文章汇总》本文主要介绍,程序的启动时间,虚拟内存和物理内存之间的映射,二进制重排优化启动时间的原理查看程序的启动时间添加环境变量EditScheme...->Arguments->+->DYLD_PRINT_STATISTICS,查看启动时间
[email protected]
![启动时间@2x.png](https://upload-images.jiansh
一亩三分甜
·
2021-06-22 18:18
iOS-
内存管理6-autorelease
一.转成C++代码我们都知道,在MRC中,当对象调用autorelease后,这个对象会在它所在的自动释放池结束后调用release方法,如下代码:intmain(intargc,constchar*argv[]){@autoreleasepool{MJPerson*person=[[[MJPersonalloc]init]autorelease];}return0;}person指针指向的对象会
Imkata
·
2021-06-22 15:30
iOS-
底层原理21-KVO(下)
iOS-
底层原理21-KVO(下)《iOS底层原理文章汇总》上一篇文章《
iOS-
底层原理20-KVO(上)》介绍到自定义KVO中观察到属性的值发生变化后,怎么通知到自定义的方法中1.自定义KVO,属性值变化后通知到自定义方法中来到
一亩三分甜
·
2021-06-22 13:07
iOS-
底层原理 33:内存管理(一)TaggedPointer/retain/release/dealloc/retainCount 底层分析
iOS底层原理文章汇总本文主要是分析内存管理中的内存管理方案,以及retain、retainCount、release、dealloc的底层源码分析ARC&MRCiOS中的内存管理方案,大致可以分为两类:MRC(手动内存管理)和ARC(自动内存管理)MRC在MRC时代,系统是通过对象的引用计数来判断一个是否销毁,有以下规则对象被创建时引用计数都为1当对象被其他指针引用时,需要手动调用[objcre
Style_月月
·
2021-06-22 13:35
iOS-
底层原理 32:启动优化(二)优化建议
iOS底层原理文章汇总启动启动的过程一般是指从用户点击app图标开始到AppDelegate的didFinishLaunching方法执行完成为止,其中,启动也分为冷启动和热启动冷启动:内存中不包含app相关数据的启动,一般我们可以通过重启手机来实现冷启动热启动:是指杀掉app进程后,数据仍然存在时的启动而我们这里所说的启动优化,一般是指冷启动情况下的,这种情况下的启动主要分为两部分:T1:pre
Style_月月
·
2021-06-22 12:02
iOS-
底层原理 34:界面优化方案
iOS底层原理文章汇总本文主要介绍界面卡顿的原理以及优化界面卡顿通常来说,计算机中的显示过程是下面这样的,通过CPU、GPU、显示器协同工作来将图片显示到屏幕上图像显示过程1、CPU计算好显示内容,提交至GPU2、GPU经过渲染完成后将渲染的结果放入FrameBuffer(帧缓存区)3、随后视频控制器会按照VSync信号逐行读取FrameBuffer的数据4、经过可能的数模转换传递给显示器进行显示
Style_月月
·
2021-06-22 11:39
iOS-
事件传递与响应
事件传递与响应的完整过程事件产生>UIUIApplication事件队列>主窗口通过hitTest方法找到最适合处理的视图>处理在产生一个事件时,系统会将该事件加入到一个由UIApplication管理的事件队列中,UIApplication会从事件队列中取出最前面的事件,将它传递给先发送事件给应用程序的主窗口.主窗口会调用hitTest方法寻找最适合的视图控件,找到后就会调用视图控件的touch
CDLOG
·
2021-06-22 06:52
iOS-
底层原理34-内存管理(下)和RunLoop
《iOS底层原理文章汇总》上一篇文章
iOS-
底层原理33-内存管理(上)介绍了内存管理,本文接着介绍内存管理(下)和RunLoopclassAutoreleasePoolPage:privateAutoreleasePoolPageData1
一亩三分甜
·
2021-06-22 02:24
iOS-
底层原理 31:LLVM编译流程 & Clang插件开发
iOS底层原理文章汇总本文主要是理解LLVM的编译流程以及clang插件的开发LLVMLLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)。对开发者保持开放,并兼容已有脚本传统编译器设计源码SourceCode+前端Frontend+优化
Style_月月
·
2021-06-21 23:02
iOS-
底层原理36-组件化
《iOS底层原理文章汇总》上一篇文章
iOS-
底层原理35-界面优化介绍了界面优化,本文介绍组件化1.为什么要组件化模块间解耦模块重用提高团队协作开发效率单元测试2.项目是否需要组件化项目较小,模块间交互简单
一亩三分甜
·
2021-06-21 18:55
iOS-
底层原理 09:类 & isa 经典面试题分析
iOS底层原理文章汇总本文的面试题主要涉及isa走位&继承关系&类结构相关的面试题以及针对面试题的分析【面试题】类存在几份?由于类的信息在内存中永远只存在一份,所以类对象只有一份【百度面试题】objc_object与对象的关系所有的对象都是以objc_object为模板继承过来的所有的对象是来自NSObject(OC),但是真正到底层的是一个objc_object(C/C++)的结构体类型【总结】
Style_月月
·
2021-06-21 18:18
iOS-
底层原理 29:锁的原理
iOS底层原理文章汇总本文主要介绍常见的锁,以及synchronized、NSLock、递归锁、条件锁的底层分析锁借鉴一张锁的性能数据对比图,如下所示锁性能对比可以看出,图中锁的性能从高到底依次是:OSSpinLock(自旋锁)->dispatch_semaphone(信号量)->pthread_mutex(互斥锁)->NSLock(互斥锁)->NSCondition(条件锁)->pthread_
Style_月月
·
2021-06-21 17:34
iOS-
逆向04-判断&循环&选择
《iOS底层原理文章汇总》1.cmp(Compare)比较指令 CMP把一个寄存器的内容和另一个寄存器的内容或立即数进行比较。但不存储结果,只是正确的更改标志。 一般CMP做完判断后会进行跳转,后面通常会跟上B指令!BL标号:跳转到标号处执行B.LT标号:比较结果是小于,执行标号,否则不跳转B.LE标号:比较结果是小于等于,执行标号,否则不跳转B.GT标号:比较结果是大于(greatert
一亩三分甜
·
2021-06-21 14:49
iOS-
常见错误:SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2.
原因:这个项目是用之前的Swift版本做的,现在用最新版的Xcode打开之后,用的是最新版的Swift5版本进行编译,所以不兼容。IMG_2285.jpg如果这个项目只是演示的话,解决方法:点击主项目-BulidSetting-搜swift-SwiftLanguageVersion改成低版本屏幕快照2019-04-29下午3.44.16.png如果这个项目以后还要长期使用的话,解决方法:1.Mac
Lebus
·
2021-06-21 12:23
iOS-
底层原理09-msgSend消息查找流程&动态方法决议
《iOS底层原理文章汇总》如果在缓存中没查找到方法,之后的流程,CheckMiss和JumpMiss的流程一模一样CheckMiss-->__objc_msgSend_uncached.macroCheckMiss//missifbucket->sel==0.if$0==GETIMPcbzp9,LGetImpMiss.elseif$0==NORMALcbzp9,__objc_msgSend_unc
一亩三分甜
·
2021-06-21 12:44
iOS-
数据持久化
持久化:将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。持久化数据的方式:文件存储:NSUserDefaults文件:plistWrite写入方式:[datawriteToFile:FileNameatomically:YES];归档(NSKeyedArchiver)数据库:数据库(SQLite、CoreData、第三方类库FMDB)前3种都是覆盖存储。如果想要增加一条数
我是谁重要吗
·
2021-06-21 10:12
iOS-
底层原理10-动态方法决议&消息转发
《iOS底层原理文章汇总》上一篇文章《
iOS-
底层原理09-msgSend消息转发》中提到,如果慢速查找在父类的缓存中没有找到,则传入父类的class,进而重新进行父类的慢速查找流程...一层层递归循环
一亩三分甜
·
2021-06-21 06:17
iOS-
底层原理 11:objc_class 中 cache 原理分析
iOS底层原理文章汇总本文的主要目的是理解cache_t以及sel-imp的缓存原理整体分析在之前的
iOS-
底层原理07:isa与类关联的原理和
iOS-
底层原理08:类&类结构分析中,分析了objc_class
Style_月月
·
2021-06-21 04:28
iOS-
希尔排序
序言以下内容摘自百度百科希尔排序希尔排序(Shell'sSort)是插入排序的一种又称“缩小增量排序”(DiminishingIncrementSort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。在这之前冒泡、选择、插入排序的时间复杂度基本都是O(n²)的,希尔排序算法是突破这个时间复杂度的第一批算法之一。算法思想希尔排序是把记录按下标的一定增量分组,对每组使用直接插入
路飞_Luck
·
2021-06-21 03:47
iOS-
底层原理 18:类的加载(下)
iOS底层原理文章汇总在上一篇文章
iOS-
底层原理17:类的加载(上)中,理解了类是如何从Mach-O加载到内存中,这次我们来解释下分类是如何加载到类中的,以及分类和类搭配使用的情况分类的本质前提:在main
Style_月月
·
2021-06-21 03:11
iOS-
底层原理20-KVO(上)
《iOS底层原理文章汇总》1.观察者中的context上下文参数可以防止重名(多个对象观察的同名属性区分),性能,代码可读性,安全2.观察者在dealloc方法中要移除,若不移除,程序将会奔溃。[self.studentaddObserver:selfforKeyPath:@"name"options:NSKeyValueObservingOptionNewcontext:NULL];-(void
一亩三分甜
·
2021-06-21 03:29
iOS-
底层原理39-离屏渲染
《iOS底层原理文章汇总》1.光栅扫描显示系统组成帧缓冲区--->视频控制器--->显示器集成显卡和独立显卡,独立显卡后有帧缓冲区,CPU处理图片生成纹理后,通过系统总线传输到显示处理器,显示处理器处理数据后放到帧缓冲区,由帧缓冲区渲染到显示器2.屏幕成像和卡顿问题I.屏幕撕裂逐行逐行进行扫描,扫描到一半的时候帧缓冲区里面的数据发生了更新变化,上半部分是上一帧数据的内容,下半部分是下一帧数据的内容
一亩三分甜
·
2021-06-21 00:16
iOS-
底层原理02-isa和类的结构分析
《iOS底层原理文章汇总》[NSObjectalloc]方法为什么没有走源码???0.gif如上图发现并没有走alloc的源码,通过汇编调试(Debug->DebugWorkflow->AlwaysShowDisassembly)发现调用了objc_alloc方法
[email protected]
在objc_alloc中断点,发现[NSObjectalloc]中调用了//Calls[
一亩三分甜
·
2021-06-20 21:20
iOS-
真机调试
前言:来到这里,相信大家在网上搜了不少关于iOS真机调试配置的文章,所以从登陆开发者账号,到生成证书,配置文件,再到真机调试的流程我这里不再赘述。这里只讲实际开发中遇到的真机调试配置失败的问题。1.从小组组长那里获取由他导出的(一般开发者账号在他或者项目经理手里)调试证书,以及对应的p12文件,和mobileprovision(描述)文件。2.分别双击这三个文件进行安装。3.配置xcode:选择“
wangjianjun0730
·
2021-06-20 20:23
iOS-
底层原理08-msgSend(cache_t)
《iOS底层原理文章汇总》运行时感受,通过clang底层编译编译前的代码#import@interfaceDCPerson:NSObject-(void)sayNB;-(void)sayHello;@end@implementationDCPerson-(void)sayNB{NSLog(@"%s",__func__);}-(void)sayHello{NSLog(@"%s",__func__);
一亩三分甜
·
2021-06-20 18:59
iOS-
逆向07-密码学
《iOS底层原理文章汇总》1.RSA加密I.密码学发展A.离散对数问题image3为质数17的原根,若质数17很大,则想要破解会很难,只有不断的试错B.欧拉函数图片.png关于互质关系如果两个正整数,除了1以外,没有其他公因数,我们就称这两个数是互质关系(coprime)。注意:两个相等的数之间不构成互质关系欧拉函数特点一、当n是质数的时候,φ(n)=n-1。二、如果n可以分解成两个互质的整数之积
一亩三分甜
·
2021-06-20 17:59
iOS-
底层原理 03:objc4-781 源码编译 & 调试
iOS底层原理文章汇总本文主要是通过将objc4-781的源码编译成功,然后在源码中进行调试,便于跟踪方法的底层实现流程准备工作环境版本&最新objc源码macOS10.15Xcode11.4objc4-781依赖文件下载需要下载以下依赖文件image其中除了其中launchd-106.10需要在MacOSX10.4.4下载,其他的均可以在最新的的版本macOS10.15中检索到源码编译源码编译就
Style_月月
·
2021-06-20 17:51
iOS-
底层原理 25:多线程原理
iOS底层原理文章汇总本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理线程和进程线程和进程的定义线程线程时进程的基本执行单元,一个进程的所有任务都在线程中执行进程要想执行任务,必须的有线程,进程至少要有一条线程程序启动会默认开启一条线程,这条线程被称为主线程或者UI线程进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存空间内通过“活
Style_月月
·
2021-06-20 17:17
iOS-
底层原理 05:内存对齐原理
iOS底层原理文章汇总在探讨内存对齐原理之前,首先介绍下iOS中获取内存大小的三种方式获取内存大小的三种方式获取内存大小的三种方式分别是:sizeofclass_getInstanceSizemalloc_sizesizeof1、sizeof是一个操作符,不是函数2、我们一般用sizeof计算内存大小时,传入的主要对象是数据类型,这个在编译器的编译阶段(即编译时)就会确定大小而不是在运行时确定。3
Style_月月
·
2021-06-20 13:40
iOS-
底层原理 27:GCD 之 NSThread & GCD & NSOperation
iOS底层原理文章汇总本文的主要目的是介绍NSThread、GCD、NSOperation常见的使用方式NSthreadNSthread是苹果官方提供面向对象的线程操作技术,是对thread的上层封装,比较偏向于底层。简单方便,可以直接操作线程对象,使用频率较少。创建线程线程的创建方式主要以下三种方式通过init初始化方式创建通过detachNewThreadSelector构造器方式创建通过pe
Style_月月
·
2021-06-20 11:33
iOS-
底层原理 16:dyld与objc的关联
iOS底层原理文章汇总本文的主要目的是理解dyld与objc是如何关联的在上一篇文章
iOS-
底层原理15:dyld加载流程中,我们梳理了dyld的加载流程,下面来详细介绍下dyld和objc的关联_objc_init
Style_月月
·
2021-06-20 08:25
iOS-
逆向01-初识汇编
《iOS底层原理文章汇总》我们在前期的学习中,了解到在逆向开发中,非常重要的一个环节就是静态分析.首先我们是逆向iOS系统上面的APP.那么我们知道,一个APP安装在手机上面的可执行文件本质上是二进制文件.因为iPhone手机本质上执行的指令是二进制.是由手机上的CPU执行的.所以静态分析是建立在分析二进制上面.所以今天我们接下来的课程从非常基础的东西开始讲解.汇编语言的发展机器语言由0和1组成的
一亩三分甜
·
2021-06-20 07:16
iOS-
关于Xcode 11 无法正常上传包,一直卡在验证问题
事情是这样的,年后要发版,准备选用最保守的上传方式Xcode-Window-Organizer.从凌晨12点开始就一直卡死在万恶的“AuthenticatingwiththeiTunesstore”上,网上找了很多方法,都不行。但发现一个共同点,就是都会提到“iTMSTransporter”,经过了解后,知道这东西是苹果在上传包的时候,通过“iTMSTransporter”来实现上传的。“iTMS
赵熊猫
·
2021-06-20 06:35
iOS-
简单的UIButton点击区域扩大,不影响图片尺寸
简单的记录一下,其实很简单的问题,UI图片做的小点就OK,每个人都会遇到吧,那就把代码贴近来,自己写粘贴吧import@interfaceUIButton(Extensions)(void)setEnlargeEdgeWithTop:(CGFloat)topright:(CGFloat)rightbottom:(CGFloat)bottomleft:(CGFloat)left;@endimport
子小每文
·
2021-06-20 04:21
iOS-
面试题-OC基础篇 (3) - (1)
目录:
iOS-
面试题-OC基础篇(1)-(84)
iOS-
面试题-OC基础篇(2)-(83)
iOS-
面试题-OC基础篇(3)-(1)1.设计模式?
_正阳_
·
2021-06-20 02:39
最新Unity2017导出Xcode工程并集成进Xcode10.0原生工程
一,导出unity的iOS工程1.File->BuildSettings->
ios-
>Switchplatform切换为iOS平台2.playerSettings.....
smlq
·
2021-06-20 01:19
【
iOS-
设计模式】六大设计原则之单一职责原则(SRP,Single Responsibility Principle)
定义就一个类而言,应该仅有一个引起它变化的原因。定义解读这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作。优点类的复杂度降低,一个类只负责一个功能,其逻辑要比负责多项功能简单的多;类的可读性增强,阅读起来轻松;可维护性强,一个易读、简单的类自然也容易维护;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显
GSNICE
·
2021-06-20 01:23
iOS-
底层原理17-类的扩展补充和面试题
《iOS底层原理文章汇总》上一篇文章《
iOS-
底层原理16-类扩展和关联对象底层原理》介绍了关联对象底层原理1.分析AssociationsManager不唯一和AssociationsHashMap唯一模拟新建
一亩三分甜
·
2021-06-19 22:49
iOS-
基础知识--模态和单例简单总结
**怒发冲冠,凭栏处,潇潇雨歇!**模态使用场景:1.调用系统相册2.相机3.临时展示一些内容(例如用户登录页面,通信录添加联系人)UIKit提供的一些专门用于模态显示的ViewController,比如UIImagePicekerController等主要用途:1.收集用户输入信息2.临时呈现一些内容3.临时改变工作模式4.相应设备方向变化5.显示一个新的view层级弹出风格ModalPrese
云之君兮鹏
·
2021-06-19 22:22
iOS-
底层原理 32:启动优化(一)基本概念
iOS底层原理文章汇总虚拟内存&物理内存早期的数据访问是直接通过物理地址访问的,这种方式有以下两个问题:1、内存不够用2、内存数据的安全问题内存不够用的方案:虚拟内存针对问题1,我们在进程和物理内存之间增加一个中间层,这个中间层就是所谓的虚拟内存,主要用于解决当多个进程同时存在时,对物理内存的管理。提高了CPU的利用率,使多个进程可以同时、按需加载。所以虚拟内存其本质就是一张虚拟地址和物理地址对应
Style_月月
·
2021-06-19 20:41
iOS-
关于UIScrollView的嵌套联动
基本场景(最终效果和链接在文末,支持Swift与OC)UIScrollView嵌套多个UITableView的场景在APP里很常见,复杂点还有各种UITableView、UICollectionView各种嵌套的场景,目前通用的解决办法基本是在UIScrollView的代理方法-(void)scrollViewDidScroll:(UIScrollView*)scrollView里比较偏移量和需要
xing3523
·
2021-06-19 16:30
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他