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-
动画“编织年少的星梦”
看到掌上英雄联盟炫酷的动画,一直不知道怎么做的,后来看到他人的一篇文章,发现了这个好东西UIDynamicAnimator,才开启了新世界的大门。传送门:BottleStarAnimationanimate.gif
feedback1991
·
2021-06-25 14:05
iOS-
简单创建MLFinder并学习
1:创建工程的目录结构1.1工程的目录结构工程目录结构.jpg1.2工程思维导图工程类图结构2:原理解释MLFinder的原理就是在viewcontroller返回时候(pop)检测当前的viewcontroller是否还有能力调用指定的willDealloc的方法。总结成一句话:利用runtime发送消息的时候,receiver可以为nil,如[nilmsg]。不会奔溃。3:运行流程运行流程图4
洲洲哥
·
2021-06-25 00:00
iOS-
第三方地址
广告QMUI(QMUI)AlipaySDK(支付宝)GPUImage(图片处理)SDWebImage(加载图片)魔窗(网页跳转)bugtags(bug管理)JSPath(热修复)JSPatch代码转换器FMDB(数据库)CYLTabBarController(标签控制器)CYLTabBarController使用QBPopupMenu(小窗口)AFNetworking(网络请求)TZImagePi
Alan龙马
·
2021-06-24 23:20
搞点儿翻译之Launch Screen
内容优先让启动的过程尽可能不被感觉到”关于启动,在设计方面我们可做的最多就是launchingScreen的内容:1.时间短,可以让用户可接受的信息不会太多,一般用一个白屏或是加上一些品牌元素就可以代替2.提示用户接下来的内容
横竖屏
如
三玖
·
2021-06-24 18:40
iOS-
底层原理 02:alloc & init & new 源码分析
在分析alloc源码之前,先来看看一下3个变量指针和内存地址区别:如图所示分别输出3个对象的内容、指针地址、对象地址,下图是打印结果如图所示结论:通过上图可以看出,可以发现三个对象的指针地址是不一致的;因此我们可以知道,alloc会去申请Person对象的一块内存空间,然后会用一个指针来指向这块申请的内存空间,即p1,而init不会对申请的内存空间做任何的操作,而是指向申请的同一片内存空间。%p-
致青春_bf42
·
2021-06-24 18:17
iOS-isa指向图&类结构(上)
NSObject@end@implementationYPPerson@end@interfaceYPTeacher:YPPerson@end@implementationYPTeacher@end在
iOS
Summit_yp
·
2021-06-24 14:12
APP前端易用性和UI测试
2.场景复杂化:由于APP用户会在挤公交,行走,甚至运动的时候使用手机,因此我们在设计和测试是必须考虑到各种情况,比如网络不稳定,电量不足,信息/电话拨入,
横竖屏
切换等情况。
粥一样温柔
·
2021-06-24 12:50
iOS-
日历选择基于UIPickerView封装
八月湖水平,涵虚混太清。气蒸云梦泽,波撼岳阳城。欲济无舟楫,端居耻圣明。坐观垂钓者,徒有羡鱼情。---唐代·孟浩然《望洞庭湖赠张丞相》本文是参考OYDatePicker及DatePicker本文算是简写了OYDatePicker,因为项目中既对农历无需求也不是取生日(包含今天和之前),而是对日期的预约(比如三天后)。所以本文只是对其中日期部分跟作者不同UI是Follow的。感谢ohyeahhh的开
long弟弟
·
2021-06-24 10:53
iOS-
彻底解决makePerformSelector:警告问题
有时候我们在写代码过程中,想让系统帮我们去找方法时,需要用到makePerformSelector:,但这个方法会报警告:"performSelectormaycausealeakbecauseitsselectorisunknown"原因:在ARC模式下,运行时需要知道如何处理你正在调用的方法的返回值。这个返回值可以是任意值,如void,int,char,NSString,id等等。ARC通过头
hyeeyh
·
2021-06-24 10:34
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
安卓视频播放(阿里云视频点播播放器SDK+SurfaceView)
目录概念介绍STS的播放流程如何导入自定义SurfaceView
横竖屏
切换滑动快进,后退滑动调节音量滑动调节亮度按Home键后重新点开黑屏问题Token过期问题一首先是概念介绍(只介绍用到的)高级播放器
lonamessi
·
2021-06-22 19:36
iOS-
底层原理31-启动优化
《iOS底层原理文章汇总》本文主要介绍,程序的启动时间,虚拟内存和物理内存之间的映射,二进制重排优化启动时间的原理查看程序的启动时间添加环境变量EditScheme...->Arguments->+->DYLD_PRINT_STATISTICS,查看启动时间
[email protected]
![启动时间@2x.png](https://upload-images.jiansh
一亩三分甜
·
2021-06-22 18:18
react-native
横竖屏
控制及状态变化监听
用框架react-native-orientation可以轻易做到。安装依赖npminstall--savereact-native-orientation自动链接库react-nativelinkreact-native-orientation如果自动链接失败,则看官方文档,手动链接,传送门。使用方式引入Orientation后,用这个组件的Api能做到反转横屏和竖屏啦。这里列出几个常用方法:O
萤火虫叔叔_WongYing
·
2021-06-22 17:46
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
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
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
其他