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-
底层原理12-应用程序加载
《iOS底层原理文章汇总》前面所学内容回顾1.对象底层-结构体-alloc2.对象的本质-isa3.类的结构isasuperclasscachebit-data()methodList?rw4.cache:方法bucketmaskinsert5.objc_msgSend消息的发送,快速查找6.慢速查找,二分查找7.动态方法决议8.消息转发:快速+慢速应用程序的加载过程先了解App的编译过程,可参考
一亩三分甜
·
2022-02-16 06:00
iOS-
底层原理 01:源码探索的三种方式
本文主要介绍下源码探索的三种方法1、符号断点直接跟流程2、通过按住control+stepinto3、汇编跟流程下面详细讲下这三种方法是如何查找到函数所在的源码库,以alloc为例一、符号断点直接跟流程通过下alloc的符号断点1.选择断点SymbolicBreakpoint截屏2020-09-07下午5.17.10.png2.符号断点中输入alloc截屏2020-09-07下午5.20.03.p
致青春_bf42
·
2022-02-15 23:45
ios-
新闻类app基础框架搭建
scrollerView和tableView组合使用(网易新闻demo)搭建界面1.界面sb内部拖拽两个scrollerView(1.titleScrollerView2.contentScrollerView)2.对titleScrollerView做布局利用for循环添加labe(为什么不使用button是因为button对于label来说功能多,但是这里我们只需要点击,所以不用button)
Dayu大鱼
·
2022-02-15 11:32
iOS-
底层原理19-KVC
《iOS底层原理文章汇总》1.KVC的一般使用LGPerson*person=[[LGPersonalloc]init];//一般setter方法person.name=@"LG_Cooci";//setter--llvmperson.age=18;person->myName=@"cooci";NSLog(@"%@-%d-%@",person.name,person.age,person->my
一亩三分甜
·
2022-02-15 10:56
iOS-
底层原理16-类扩展和关联对象底层原理
《iOS底层原理文章汇总》上一篇文章《
iOS-
底层原理15-类的加载下》详细介绍了类和分类的懒加载和非懒加载搭配情况下,方法的加载流程,本文介绍类的扩展和关联对象底层原理LLVM源码下载地址1.方法排序中类中的方法的
一亩三分甜
·
2022-02-14 19:20
iOS-
底层原理7:isa与类关联的原理
问题OC对象的本质到底是什么?里面到底是什么结构呢?探索在探索oc对象本质前,先了解一个编译器:clangclangclang是一个由Apple主导编写,基于LLVM的C/C++/OC的编译器主要是用于底层编译,将一些文件输出成c++文件,例如main.m输出成main.cpp,其目的是为了更好的观察底层的一些结构及实现的逻辑,方便理解底层原理。操作指令//1、将main.m编译成main.cpp
AcmenL
·
2022-02-14 18:45
BLE
蓝牙模块
CC2540TR2.4技术资料
一般描述1、CC2540TR2.4RF模块为针对蓝牙低功耗,低成本的片上系统(SOC)应用模块。2、该模块内含一个RF收发器和一个工业级8051内核。3、该RF模块适用于低功耗需求应用系统中。4、符合全球无线电频率法规的无线系统,包括:ETSIEN300328和EN300440Class2(欧洲),FCCCFR47Part15(美国)和ARIBSTD-T66(日本)。5、优异的链路预算(高达97d
硅传科技521
·
2022-02-14 08:58
iOS-
多线程3-加锁方案2
一.NSConditionLockNSConditionLock是对NSCondition的进一步封装,可以设置具体的条件值。NSConditionLock相关API:@interfaceNSConditionLock:NSObject{-(instancetype)initWithCondition:(NSInteger)condition;@property(readonly)NSIntege
Imkata
·
2022-02-14 08:30
iOS-
开发小贴士
持续更新...1.单击手势和双击手势冲突的解决-(void)requireGestureRecognizerToFail:(UIGestureRecognizer*)otherGestureRecognizer;//exampleusage:[singleTaprequireGestureRecognizerToFail:doubleTap];2.AutoLayout中的baseline对齐通常是
yue博客
·
2022-02-14 06:45
iOS-
屏幕适配实现(Masonry)
Masonry简介Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装AutoLayout,简洁明了并具有高可读性,而且同时支持iOS和MaxOSX下载链接MasonryMasonry配置使用pods方式引入类库,pod'Masonry'引入头文件#import"Masonry.h"Masonry使用示例:[testViewmas_makeConstraints:^(
皆为序幕_so
·
2022-02-14 02:49
iOS-
底层原理 20:OC底层面试解析
iOS底层原理文章汇总【面试-1】RuntimeAsssociate方法关联的对象,需要在dealloc中释放?当我们对象释放时,会调用dealloc1、C++函数释放:objc_cxxDestruct2、移除关联属性:_object_remove_assocations3、将弱引用自动设置nil:weak_clear_no_lock(&table.weak_table,(id)this);4、引
Style_月月
·
2022-02-14 02:35
iOS-
底层原理29:内存管理(一)TaggedPointer/retain/release/dealloc/retainCount 底层分析
本文主要是分析内存管理中的内存管理方案,以及retain、retainCount、release、dealloc的底层源码分析1.ARC&MRCiOS中的内存管理方案,大致可以分为两类:MRC(手动内存管理)和ARC(自动内存管理)1.1MRC在MRC时代,系统是通过对象的引用计数来判断一个是否销毁,有以下规则:对象被创建时引用计数都为1当对象被其他指针引用时,需要手动调用[objcretain]
AcmenL
·
2022-02-13 22:13
IOS-
使用UICollectionView+UIScrollView实现悬停、导航条跟随列表滚动滑动
本例子主要实现2个主要功能悬停UIScrollView的中Item随着滚动列表联动变化效果图:20200428151038-7c011ad592.[gif-2-mp4.com].gif悬停的变化通过监听UIConllectionViewContentSet变化再改变待悬停视图和y坐标即可,核心代码如下:-(void)scrollViewDidScroll:(UIScrollView*)scroll
劉胡來
·
2022-02-13 22:30
iOS-
本地化组件化的实践
前言业界已经有许多技术文章进行了组件化的指导了,这里就不再赘述。本文主要讲的是小型团队和小型项目对于「本地组件化」的实践。为什么要提出组件化本地化的概念呢?对于小型项目和小型团队来说,可能自身的项目不需要用到组件化,但是又想学习和利用组件化的技术,组件化的本地化恰好可以满足这个需求。那么何为本地化的组件化呢?对于常规的组件化来说,每一个模块或者说组件都需要创建为一个远端的组件库,别的模块从远端加载
李丘
·
2022-02-13 19:47
iOS-
视图之UIButton
今天我们开始UIButton的研究,UIButton是一个可以产生交互的视图,在App中也是高频出现的视图类,顾名思义就是按钮的意思,看到按钮他的功能我们就一目了然了,就是可以单击,然后发生对应的动作。//眼熟吧,不多解释了UIButton*button=[[UIButtonalloc]initWithFrame:CGRectMake(50,50,100,30)];[self.viewaddSub
茶哥儿
·
2022-02-13 14:16
iOS-
底层原理38-Crash分析
《iOS底层原理文章汇总》Crash分析crash常见场景:KVO、数组越界、野指针、后台任务超时内存泄漏、找不到方法crash处理步骤:捕捉、分析、包装、上传、crash起死回生1.遇到数组越界崩溃:防止数组越界进行针对性处理,进行methodSwizzlingimage.pngimage.png2.若遇到其他除数组越界外的其他中情况的奔溃呢?此时需要做统一处理,上传奔溃日志到服务器3.奔溃产生
一亩三分甜
·
2022-02-13 10:19
iOS-
面试秘籍
序言目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡。矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力!一.OC的理解与特性OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装、继承、多态。它既具有静态语言的特性
iYeso
·
2022-02-13 10:56
iOS-
底层原理05-类的结构分析
《iOS底层原理文章汇总》类中为什么没有成员变量和类方法,它们在哪里获取???属性,成员变量和实例变量的区分1.clang编译main.m文件:clang-rewrite-objcmain.m-omain.cpp得到main.cpp文件@interfaceDCPerson:NSObject{NSString*hobby;NSObject*objc;}@property(nonatomic,copy
一亩三分甜
·
2022-02-13 07:20
iOS-
底层原理 17:类的加载(上)
iOS底层原理文章汇总在上一篇
iOS-
底层原理16:dyld与objc的关联文章中,我们理解了dyld与objc是如何关联的,本文的主要目的是理解类的相关信息是如何加载到内存的,其中重点关注map_images
Style_月月
·
2022-02-13 06:06
iOS-
模型转字典
//model转化为字典-(NSDictionary*)dicFromObject:(NSObject*)object{NSMutableDictionary*dic=[NSMutableDictionarydictionary];unsignedintcount;objc_property_t*propertyList=class_copyPropertyList([objectclass],&
请叫我大帅99
·
2022-02-12 16:29
iOS-
底层原理 06:malloc 源码分析 思路
iOS底层原理文章汇总在
iOS-
底层原理02:alloc&init&new源码分析文章中,alloc有3个核心操作,其中一个就是calloc,即申请内存,这就是今天需要探索的内容,其实探索的本质也是为了验证
Style_月月
·
2022-02-12 04:09
ios-
给view添加部分圆角
简单粗暴点直接上代码吧-(void)createUI{UIView*view1=[[UIViewalloc]initWithFrame:CGRectMake(50,120,100,100)];view1.backgroundColor=[UIColorgrayColor];[self.viewaddSubview:view1];CGFloatradius=15;//圆角大小UIRectCorner
码农_会写诗
·
2022-02-12 02:52
iOS-
逆向08-密码学-RSA&HASH
《iOS底层原理文章汇总》1.通过私钥生成.csr文件opensslreq-new-keyprivate.pem-outrsacert.csr要用.csr到专门颁发证书的机构去签名,签名证书是合法的,也能自己进行签名,但是自签的签名是没有被认证的图片.pngimageopensslx509-req-days3650-inrsacert.csr-signkeyprivate.pem-outrsace
一亩三分甜
·
2022-02-11 18:17
iOS -Cannot synthesize weak property because the current deployment target does n
>ComplieSources,找到出现问题的资源库文件(比如weak修饰符所在的文件),双击ComplieFiles中的该文件,在空白行中写入-fobjc-arc*方法2:项目->TARGETS->
IOS
阿栋先森
·
2022-02-11 16:43
iOS-
底层原理 34:启动优化(二)优化建议
启动启动的过程一般是指从用户点击app图标开始到AppDelegate的didFinishLaunching方法执行完成为止,其中,启动也分为冷启动和热启动冷启动:第一次打开app或app被杀死后重新打开叫冷启动(走didFinishLaunchWithOptions方法)热启动:app在后台且存活的状态下,再次打开app叫热启动(不走didFinishLaunchWithOptions方法)而我
AcmenL
·
2022-02-11 16:13
iOS-
底层原理 12:消息流程分析之快速查找
iOS底层原理文章汇总本文的主要目的是理解objc_msgSend的方法查找流程在上一篇文章
iOS-
底层原理11:objc_class中cache原理分析中,分析了cache的写入流程,在写入流程之前,
Style_月月
·
2022-02-11 15:47
iOS-
底层原理 08:类 & 类结构分析
iOS底层原理文章汇总本文的主要目的是分析类&类的结构,整篇都是围绕一个类展开的一些探索类的分析类的分析主要是分析isa的走向以及继承关系准备工作定义两个类继承自NSObject的类CJLPerson,@interfaceCJLPerson:NSObject{NSString*hobby;}@property(nonatomic,copy)NSString*cjl_name;-(void)sayH
Style_月月
·
2022-02-11 02:30
iOS-
核心动画详解之CALayer
1.CALayer的基本操作.1.CALayer简介:CALayer我们又称为层,在每个UIView内部都有一个layer的属性,UIView之所以能够显示,就是因为它里面有layer层,才具有显示的功能,我们通过操作CALayer对象,可以很方便地调整UIView的一些外观属性,例如可以给UIView设置阴影,圆角,边框等等...2.操作layer改变UIView外观.2.1设置阴影//默认图层
xx_cc
·
2022-02-10 21:36
iOS-
底层探索07:cache_t原理分析
iOS底层探索文章汇总目录一、前言三、cache_t的工作原理三、cache_t的工作原理四、总结一、前言上一篇文章iOS类的结构分析中我们分析了类的底层结构,知道了类中存在cache_tcache。那么cache中到底缓存了哪些数据,cache_t的底层结构又是怎样的呢?这篇文章我们就一起来分析类的底层结构到底是什么。类的底层代码如下:structobjc_class:objc_object{/
differ_iOSER
·
2022-02-10 16:30
iOS-
宏定义
参照C语言的预处理命令简介:#define定义一个预处理宏#undef取消宏的定义#include包含文件命令#include_next与#include相似,但它有着特殊的用途#if编译预处理中的条件命令,相当于C语法中的if语句#ifdef判断某个宏是否被定义,若已定义,执行随后的语句#ifndef与#ifdef相反,判断某个宏是否未被定义#elif若#if,#ifdef,#ifndef或前面
li_礼光
·
2022-02-10 15:51
基于Jetson Xavier NX的安装及测试、Pose Recognition测试和Paddle Inference在Jetson推理
docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html套件包含清单NVIDIAJetsonXavierNX模块及载板19v电源适配器802.11无线网卡及
蓝牙模块
SensorFusion
·
2022-02-10 07:49
环境配置方案
docker
pytorch
ubuntu
iOS-
事件处理与如何获得最佳点击的View
GitHubDemo:https://github.com/shaozhe-chen/ResponderTest首先我先提出三个问题:1、点击屏幕如何找到最合适的view来响应事件?2、pointInside:withEvent:先调用?还是hitTest:withEvent:?还是touchBegin:withEvent:?3、如何确定响应链?大家平时在做UI开发的时候,我估计大家都很少关注这些
乜_啊_
·
2022-02-10 07:32
iOS-
创建自己的pod远程库
1.首先在github创建自己的库2.克隆到桌面,并在里面创建需要放到远程库的文件内容3.创建项目的podspec文件用终端命令cd到本地项目目录并执行如下命令:podspeccreateobjectName这时候本地就生成一个objectName.podspec文件打开.podspec文件(不要使用文本编辑打开修改)修改里面的配置Pod::Spec.newdo|s|s.name="objectN
malgee
·
2022-02-10 03:02
Swift-进阶 03:值类型 & 引用类型
Swift进阶之路文章汇总本文主要介绍为什么结构体是值类型,类是引用类型值类型前提:需要了解内存五大区,内存五大区可以参考这篇文章
iOS-
底层原理24:内存五大区,如下所示值类型-1栈区的地址比堆区的地址大栈是从高地址
Style_月月
·
2022-02-09 21:43
iOS-
底层原理20:KVC底层原理
KVC的全称是Key-ValueCoding,翻译成中文是键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性。既可以通过一个字符串key来访问某个属性。这种间接访问机制补充了实例变量及其相关的访问器方法所提供的直接访问。官方文档API常见API//直接通过Key来取值-(nullableid)valueForKey:(NSString*)
AcmenL
·
2022-02-09 21:37
iOS-
图片撕裂、掉帧初解读
敲黑板,划重点!!!图片撕裂:两帧或多帧图片在屏幕上显示,导致显示效果错位,效果图如下:掉帧:指的是重复显示同一帧图片,非丢失了某一帧内容(有疑问,见思考)图片撕裂流程图如下:为解决上述问题:iOS引入垂直同步Vsync+双缓存区DoubleBuffering1、垂直同步Vsync:即加锁原理,当前帧内容没有显示完全时,不会读取下一帧内容,帧缓存区被锁定2、双缓存区DoubleBuffering:
一代千禧
·
2022-02-09 15:55
Raspberry Pi 3B+ 蓝牙连接八位堂8Bitdo ZERO游戏手柄
原文地址先上两张照片八位堂出品的ZERO游戏手柄,只有一个钥匙扣大小,携带非常方便,颜值也是非常高8Bitdo.jpg树莓派3B+,内置
蓝牙模块
单元,卡片式电脑Raspberrypi3B+.jpg1.更新树莓派软件列表和软件
沈祥佑
·
2022-02-09 15:57
iOS-
底层原理21:KVO底层原理
上一篇文章
iOS-
底层原理20:KVC底层原理中了解了KVC底层原理,本文将讲解KVO底层原理。
AcmenL
·
2022-02-08 23:10
iOS-
底层原理8:类 & 类结构分析
类与对象的关系关于类和对象的关系,对于它的理解可能停留在对象是类创建(alloc,new)出来的这种很浅层的关系上,如果要深挖出背后的秘密,还是得从地址和内存入手,接下来就一步步探索。step1:创建一个继承于NSObject的LBHPerson类//.h文件@interfaceLBHPerson:NSObject@end//.m文件#import"LBHPerson.h"@implementat
AcmenL
·
2022-02-08 22:37
Swift-进阶 02:类、对象、属性
计算属性延迟存储属性&单例创建方式SIL在底层流程中,OC代码和SWift代码时通过不同的编译器进行编译,然后通过LLVM,生成.o可执行文件,如下所示SIL-1OC中通过clang编译器(clang可以参考这篇文章
iOS
Style_月月
·
2022-02-08 21:51
iOS-
数组的全排列
百度百科链接-全排列序言数组的全排列可用于求解八皇后问题。与此同时,全排列经常会出现在笔试或者面试,如求字符串的全排列。一全排列的递归实现1.1解题思路函数Perm(intlist[],intk,intm)1.list数组2.k前缀的索引位置,比如以12为前缀,则k=13.m要排列的数目,比如1为前缀,则要排列的数目为2,即m=2给定一个n个元素数组,其全排列的过程可以描述如下:1.求将list的
路飞_Luck
·
2022-02-08 10:12
iOS webSocket建立长连接
iOS-
即时通讯一般来说,即时通讯有两种方式WebSocket与Ajax的选择在WebSocket出来之前,实现即时通讯通常使用Ajax来实现,而Ajax是通过轮询的方式进行实时数据的获取,轮询就是在指定的时间间隔内
凌峰Mical
·
2022-02-07 09:04
iOS-
自动化打包方案
树下敲代码的超人关注2.32018.03.0116:53*字数776阅读8200评论22喜欢62技术文章/超人自动化打包方案1:xcodebuild打包使用xcodebuild自动化打包给我的感觉就是用命令行来控制Xcode进行编译打包,xcodebuild打包有3种,一种是adHoc测试打包ipa,一个是上传AppStore打包,一个企业级别打包。具体区别请看下面的步骤中说明了解xcodebui
小小小Lucky
·
2022-02-07 05:01
iOS-
底层探索06:isa 经典面试题分析
iOS底层探索文章汇总目录一、类在内存中存在几份二、objc_object与对象的关系三、什么是属性&成员变量&实例变量?四、成员变量和实例变量什么区别?五、元类中为什么会有类对象的类方法?六、实例对象、类对象、元类对象到底有什么区别呢?七、探究class_copyMethodList等方法八、iskindOfClass&isMemberOfClass的理解九、iOS中内省的几个方法?一、类在内存
differ_iOSER
·
2022-02-07 03:16
iOS-
执行pod lib lint时候报错 - ERROR | [iOS] unknown: Encountered an unknown error (The 'Pods-App' tar...
执行podliblint验证podspec文件是否正确报了一个下面的错误ERROR|[iOS]unknown:Encounteredanunknownerror(The'Pods-App'targethastransitivedependenciesthatincludestaticbinaries:(/private/var/folders/zj/hff3w0_s0fl6rpf291l2btgh
malgee
·
2022-02-07 01:09
iOS-
底层探索02:内存对齐分析
iOS底层探索文章汇总推荐学习:iOS结构体尺寸、iOS底层探索02-内存对齐目录前言:为什么要进行内存对齐一、结构体内存大小二、分析内存占用三、扩展:结构体嵌套结构体所占内存大小四、OC中类对象的内存分配五、内存优化(属性重排)前言:为什么要进行内存对齐很多CPU拒绝读取未对齐数据。当一个程序要求这些CPU读取未对齐数据时,这时CPU会进入异常处理状态并且通知程序不能继续执行。而且读取未对齐的数
differ_iOSER
·
2022-02-06 23:37
iOS-
底层原理:alloc & init & new 源码分析
一切的一切从最初的代码开始LGPerson*p1=[LGPersonalloc];LGPerson*p2=[p1init];LGPerson*p3=[p1init];NSLog(@"%@-%p-%p",p1,p1,&p1);NSLog(@"%@-%p-%p",p2,p2,&p2);NSLog(@"%@-%p-%p",p3,p3,&p3);输出结果为:-0x6000018981b0-0x7ffeea
z夜流星
·
2022-02-06 23:29
iOS-
离屏渲染详解
屏幕渲染OpenGL中,GPU屏幕渲染有两种方式.On-ScreenRendering(当前屏幕渲染)指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区进行.Off-ScreenRendering(离屏渲染)指的是在GPU在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作.几个名词"GPU""缓冲区".不知道GPU的就自行百度吧(--宝宝说不清).说下缓冲区.要明白缓冲区,首先就得要知道图像显示出来的
贝勒老爷
·
2022-02-06 17:18
iOS-
底层原理:源码探索的三种方式
本文主要介绍下源码探索的三种方法1、符号断点直接跟流程2、通过按住control+stepinto3、汇编跟流程下面详细讲下这三种方法是如何查找到函数所在的源码库,以alloc为例1、符号断点直接跟流程通过下alloc的符号断点选择断点SymbolicBreakpointimage符号断点中输入allocimagemain中的CJLPerson处加一个断点在走到这部分断点之前,需要关闭上面新增的符
Miraclely
·
2022-02-06 14:51
iOS-
底层探索18:KVC 底层原理
iOS底层探索文章汇总目录一、KVC基本使用二、KVC设值、取值底层分析三、简单自定义KVC设值、取值四、KVC使用场景相关面试题:谈谈你对KVC的理解KVC的全称是Key-ValueCoding,翻译成中文是键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性。即可以通过一个字符串key来访问某个属性。这种间接访问机制补充了实例变量及其相
differ_iOSER
·
2022-02-06 14:32
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他