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:源码探索的三种方式
本文主要介绍下源码探索的三种方法1、符号断点直接跟流程2、通过按住control+stepinto3、汇编跟流程下面详细讲下这三种方法是如何查找到函数所在的源码库,以alloc为例1、符号断点直接跟流程通过下alloc的符号断点选择断点SymbolicBreakpoint2251862-546b1518f2904802.png符号断点中输入allocimage.pngmain中的CJLPerson
小Peter的简书
·
2021-06-19 15:53
iOS-
底层原理 01:源码探索的三种方式
iOS底层原理文章汇总本文主要介绍下源码探索的三种方法1、符号断点直接跟流程2、通过按住control+stepinto3、汇编跟流程下面详细讲下这三种方法是如何查找到函数所在的源码库,以alloc为例1、符号断点直接跟流程通过下alloc的符号断点选择断点SymbolicBreakpointimage符号断点中输入allocimagemain中的CJLPerson处加一个断点在走到这部分断点之前
Style_月月
·
2021-06-19 13:48
iOS逆向 12:Mach-O文件(下)
iOS底层原理+逆向文章汇总本文主要介绍Mach-O文件的内部结构的演示Mach-O文件结构下面更多的是Mach-O的结构演示,更多的Mach-O介绍可以查看
iOS-
底层原理32:启动优化(一)基本概念
Style_月月
·
2021-06-19 10:06
iOS-
底层原理23-内存五大区
《iOS底层原理文章汇总》1.栈区(stack):由编译器自动分配并释放,存放函数的参数值比如(idself,SEL_cmd),局部变量等。栈是系统数据结构,对应线程/进程是唯一的。栈是高地址向低地址扩展的数据结构,是一块连续的内存的区域;先进后出(FILO—First-In/Last-Out)栈的地址空间是以0x7开头,栈是在运行时开辟优点:由于是编译器自动创建和释放的,所以不会产生内存碎片;一
一亩三分甜
·
2021-06-19 10:33
iOS-
逆向06-汇编终章OC反汇编
《iOS底层原理文章汇总》1.OC反汇编图片.pngobjc_msgSend中存在两个参数(id,SEL),id类型实质上是一个结构体指针类型,SEL是一个选择器x8寄存器中存放的是一个地址0x1021295b0,将x8寄存器中存放的地址值读取8个字节内容存放到x0寄存器中再将x8寄存器中存放的一个地址0x1021295a0,读取8个字节内容存放到x1寄存器中将x0,x1的值传入objc_msgS
一亩三分甜
·
2021-06-19 07:40
iOS-
底层原理(1)-对象的本质
Objective-C的本质我们平时编写的Objective-C代码,底层实现其实都是C\C++代码image.png将OC代码翻译成C++代码,我们可以看到//NSObjectImplementationstructNSObject_IMPL{Classisa;//8个字节};//指针//typedefstructobjc_class*Class;所以Objective-C的面向对象都是基于C\
路飞_Luck
·
2021-06-19 04:21
iOS-
屏幕帧数
在看YYKit(https://github.com/ibireme/YYKit)代码时,发现项目里有一个查看当前屏幕帧数的小工具YYFPSLabel,能够实时查看当前的帧数。作者yehot的gif以下是YYFPSLabel重要代码:/**//创建一个CADisplayLink,用于获取帧数@paramtick:获取数据方法@return*/_link=[CADisplayLinkdisplayL
linbj
·
2021-06-19 04:13
ios-
对知识的复习nav+tab的设置
很久没有写文章了,也就说明这段时间没有怎么做ios这方便的工作,期间做了一阶段的跨平台开发,由于是半路出家做的效果不是很好,然后就去学了一阶段的js,不过现在我又回来了!!!利用这两天的业余时间写了一些比较基础的东西,就是app的基类,简单的登录和一些方法的扩展,争取在未来的几天写一些有用的东西!Demo直通车:https://github.com/clark-new/app-base账号密码都是
Clark_new
·
2021-06-18 23:15
iOS-
防止离屏渲染
UIBezierPath贝塞尔曲线给view绘圆角1、绘圆形-(void)pd_setRadius{[self.superviewlayoutIfNeeded];//确保获取到boundsUIBezierPath*maskPath=[UIBezierPathbezierPathWithRoundedRect:self.boundsbyRoundingCorners:UIRectCornerAllC
Arthur凌
·
2021-06-16 11:57
iOS-
(移动/复制)并合并文件夹、
【前言】开发中遇到两个需求,是NSFileManager文件操作。我有一个包含文件和子文件夹的A文件夹,我想将其复制到文件系统中的B文件夹下。在B中,可能已存在同名文件夹/文件,该文件夹也可能包含文件和文件夹。【需求一】我想用我A文件夹下所有文件移动到B文件夹下面,如果它们具有相同的名称,覆盖并替换B里面的同名文件,而B其余文件都不会受到影响。【需求二】我想用我A文件夹下所有文件复制到B文件夹下面
蜗牛快跑zz
·
2021-06-15 09:57
iOS-
面向协议编程
用工厂方法时,先定义了一个基类,在基类的声明中定义了一系列的方法,类实现里面并不需要实现,而是在子类里面实现的,需要的只是基类中的.h文件的方法声明。这个是不是和协议有点像,定义一个基协议,让各个工厂类都遵守这个基协议。我们就拿地图说事。百度地图和高德地图的视图都是继承的UIView,请看代码。1>首先我们先定义2个基协议。#import#import"ImapView.h"@protocolIM
骑毛驴的小强
·
2021-06-15 03:14
iOS-
组件化开发-路由
当越来越多的组件开发好以后,如何方便的使用组件?如何实现组件之间相互调用?如何减少组件间的耦合性?这些思考的出现,从而诞生了路由之说。1.直接import类这种是最直接原始的方式,耦合性高开发好的组件如下:1.png直接在需要用到的地方,导入此类就可使用2.png2.target-action方式CTMediator是target-action这种方式比较有代表性的开源库基于CTMediator思
三月望龙
·
2021-06-14 16:00
iOS-
手势
UIResponderUIResponder:是一个响应者(传达者)用来响应用户的触摸屏幕的某些事件手势手势分为六大手势,都继承自UIGestureRecognizer1、点击UITapGestureRecognizer可以通过手势里面的view属性找到点击的视图locationaInView:找到点击的位置numberOfTapsRequired设置点击手势的点击次数numberOfTouche
磊CC
·
2021-06-14 04:02
Swift4基本的
错误汇总
一.示例代码如下:lettempMinArr=minDyArr.sorted{(m1,m2)->BoolinreturnInt(m1)!BoolinreturnDouble(m1)!Boolinreturn(m1asNSString).intValue<(m2asNSString).intValue}
塞外神龙
·
2021-06-13 21:59
iOS-
底层原理 19:类扩展 与 关联对象 底层原理探索
iOS底层原理文章汇总本文的主要目的是针对类的加载的一个扩展,主要讲讲类拓展和分类的底层实现原理【面试题】类扩展与分类的区别1、category类别、分类专门用来给类添加新的方法不能给类添加成员属性,添加了成员属性,也无法取到注意:其实可以通过runtime给分类添加属性,即属性关联,重写setter、getter方法分类中用@property定义变量,只会生成变量的setter、getter方法
Style_月月
·
2021-06-13 15:29
iOS-
纵向横向双向滑动的TableView的实现
需求项目中需要用到如下的「横向」和「纵向」双向滚动的表格功能,在这里分享下实现方式。multiScroll.gifUI图层UI图层由6个控件组成,分别是:左边头部视图左边tableView右边scrollView右边容器视图右边头部视图右边tableViewUI层级.png按照上面思路进行UI布局,需要注意的是右边scrollView的布局需要保证添加在其中的tableView能够左右滚动。双向滚
李丘
·
2021-06-13 07:33
关于iOS打包测试和发布
两篇看到的挺详细的文章记录一下自动生成证书iOS打包的两种方式手动创建证书
iOS-
最全的App上架教程
天方夜譚
·
2021-06-13 06:02
iOS-
关于改插件方法
改插件思路?改插件-->如何去查找插件-->插件开发知识-->插件代码肯定有个地方指定安装到什莫地方怎么改插件?1.打开插件2.搜索plug3.就能找到安装的路径为什莫要改?原因:有时候我们自己封装的分类不适用于插件改插件图例第一步第二步第三步第四步第五步第六步效果展示:效果展示
_正阳_
·
2021-06-13 00:32
iOS-
在Xcode中打开终端
不多废话,开门见山。介绍两种常用的在指定路径打开终端的方式。使用Go2Shell插件在网上下载Go2Shell,安装之后就可以直接使用,可以通过自定义Finder的工具栏,设置Go2Shell的打开快捷方式。Go2Shell具体使用:在Finder中去到具体的项目文件夹,然后点击自己添加的Go2Shell快捷方式,即可打开定位到这个路径的终端。由于这个应用在appstore上太久没更新了,被苹果定
李丘
·
2021-06-12 20:12
iOS-
获取图片上某点的颜色
下面是具体的实现代码+(UIColor*)colorAtPixel:(CGPoint)pointwithImage:(UIImage*)imageimageWidth:(CGFloat)imageWidth{//判断给定的点是否被一个CGRect包含if(!CGRectContainsPoint(CGRectMake(0.0f,0.0f,image.size.width,image.size.he
见哥哥长高了
·
2021-06-12 18:46
iOS-
判断是否是手机号的正则表达式
//判断是否是手机号+(BOOL)isValidPhone:(NSString*)phone{if(phone.length!=11){returnNO;}else{/***移动号段正则表达式*/NSString*CM_NUM=@"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";/***联通号段正则
HanZhiZzzzz
·
2021-06-12 07:00
iOS-
环信好友头像和昵称管理类
内容只为个人学习使用。环信的头像和名称要自己来维护,下面内容只是对头像和名称所使用的一个工具类的封装。直接看代码:CJFriendsCache.h#import#import/*为好友的模型@property(nonatomic,copy)NSString*memberName;@property(nonatomic,copy)NSString*memberNum;@property(nonato
见哥哥长高了
·
2021-06-12 01:58
iOS-
段间距
//行间距/**space行间距设置*label原始label*string需要输入的内容*/+(UILabel*)setLineSpace:(CGFloat)spaceFromLabel:(UILabel*)labelwithString:(NSString*)string;{label.numberOfLines=0;NSMutableAttributedString*attributeStr
拿铁君
·
2021-06-12 01:52
iOS-
对称加密和(rsa)非对称加密
说起rsa,大家自然就会说,非对称加密嘛。是的,rsa非对称加密算是安全级别非常高的加密方式,至少对于现在而言。这里,笔者也是抽空整理和总结下,自己所了解的知识点,也希望大家看到后,可以补充下哦!先来说说,为何要加密,当然是为了保证数据的安全性。当代的互联网发展中,如何保证一个数据的安全性,是IT行业一个重要的技术领域。因为非对称加密是一个相对于现在的数据通信技术而言非要安全的加密方式,所以大家都
IBigLiang
·
2021-06-11 23:08
iOS 底层原理 + 逆向 文章汇总
注:欢迎大家可以关-注Wei-Xin公--众--号:Style月月专栏,与同步更新~iOS底层原理objc4源码相关0、底层源码探索方式
iOS-
底层原理01:源码探索的三种方式1、对象底层:结构体+alloc
Style_月月
·
2021-06-11 21:09
iOS-
分类重写原方法,如何调用原方法
需要知识class_ro,class_rw分类中重写了原类方法导致原类中的方法被覆盖了,category的底层实现是在加载的时候,把category中的方法添加到原类的方法列表中,当调用方法时会遍历方法列表找到对应的响应子就返回,不再向下遍历。因为category的优先级高于类的优先级,使得原类中的选择子遍历不到。这时候如果想在分类方法中调用原方法改怎么做呢?可以去遍历方法列表,去查询最后一个te
linbj
·
2021-06-11 08:30
iOS - KVO
[toc]参考KVOKVC【iOS--KVO的实现原理与具体应用】【
IOS-
详解KVO底层实现】【KVO底层探索和遇到的常见错误(一)】【[深入浅出Cocoa]详解键值观察(KVO)及其实现机理】【自动移除
felix6
·
2021-06-11 05:51
iOS
错误汇总
长期更新
对常见错误进行汇总,长期更新。9.podinstall错误M1电脑y[NOTE]YoumayhaveencounteredabugintheRubyinterpreterorextensionlibraries.Bugreportsarewelcome.Fordetails:https://www.ruby-lang.org/bugreport.html[IMPORTANT]Don'tforget
圆脸黑猫警长
·
2021-06-10 21:28
iOS-
(rsa)非对称加密的简单生成和运用
在上一篇文章中,笔者简单的阐述了,对称加密和非对称加密的一些概念,有兴趣的同学可以了点击下
iOS-
对称加密和(rsa)非对称加密。这篇文章,笔者主要用rsa相关的一些知识来运用一下。
IBigLiang
·
2021-06-10 16:04
iOS-
逆向11-代码注入
《iOS底层原理文章汇总》1.运行上节课的WeChat程序,ViewController中的代码不会执行,因为MachO文件中的整个都被替换了,Product目录下WeChat.app中显示包内容,提取出WeChat.app中的可执行文件WeChatimageI.通过MachOViewer分析WeChat可执行文件,由Mach64Header、LoadCommmands、sections、Func
一亩三分甜
·
2021-06-10 09:35
iOS-
网络知识
1、网络解密的过程:就是对离散对数进行求值HTTPS加密机制:共享秘钥加密(对称秘钥加密)+公开秘钥加密(非对称加密)1、在交换秘钥时,先使用公开密钥加密2、发送数据时,使用共享秘钥加密为了保证使用的公开加密的秘钥是安全的,通过(数字证书认证机构)CA机构来解决,客户端内部放置数字证书认证机构的公开密钥,2、状态码:1、200Ok:请求正常2、204NoContent:没有请求资源3、206par
GJCode
·
2021-06-10 04:40
2019-01-08
所以说,-点击电话号码后,拨打该号码,应该使用:href="'tel:'+item.num"适用安卓和
ios-
点击复制,就用clipboard,还是好用的,而且操作简单,constcopyBtn=newClipboard
北四巷杂货铺的夏天
·
2021-06-09 12:36
iOS-
获取任意时间的零点和二十四点时间戳字符串
//输入时间戳字符串,获取那天零点和二十四点时间戳-(void)timeStrTest{//时间戳字符串+时间格式NSString*createTimeStr=@"1320805779000";NSString*formatStr=@"YYYY-MM-dd";NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormat
蜗牛快跑zz
·
2021-06-09 09:09
iOS-
08 发布按钮显示不出来(原因)
发布按钮显示不出来:问题:1.图片尺寸过大,系统帮你渲染2.能显示=>位置不对如图:出现的问题解决:不能修改图片尺寸效果:让发布图片居中解决问题①的效果:vc.tabBarItem.image=[UIImageimageOriginalWith:image];系统帮你渲染解决问题②的效果:edgeInsets压瘪了edgeInsets差不多但是,还是有问题的只有选中状态,正常的是有高亮状态只有选中
_正阳_
·
2021-06-09 04:42
iOS-
在同一页面同时展示登录和注册View
思路:在一个UIView设置它的Frame的宽度是屏幕的两倍,然后把登录的View和注册的View同时加载这个View上(注册View.x=这个View宽度的一半),点击切换按钮时改变这个UIView的leadingConstraint(View.x)就可以让这两个View显示。代码:#import"HKLoginRegisterViewController.h"#import"HKLoginRe
StevenHu_Sir
·
2021-06-09 03:22
iOS-
文本内容展开/收起实现方案
方案1:YYLabel问题:YYLabel继承于UIView不支持项目本身的自定义表情,UILabel能正常显示自定义表情,passifself.model?.textDisplayType==1{//展开contentLabel.truncationToken=truncationToken}else{//收起attrStr.append(moreAttStr)}contentLabel.att
笑破天
·
2021-06-09 02:42
iOS-
蓝牙项目经验总结(上)
蓝牙开发中碰到的几个技术点:0),蓝牙协议制定;1),蓝牙密钥配对;2),获取蓝牙Mac地址;3),实时获取蓝牙设备信号;4),通过蓝牙升级硬件版本;5),通过蓝牙上传文件;6),封装蓝牙静态包;蓝牙协议制定:蓝牙封包格式依次为:包头(一个字节),指令码(一个字节),封包长度(一个字节),参数(n个字节),校验码(一个字节);例如下图:当然还有封包格式更简单的,只有包头,指令码,和参数组成;具体什
HelloKing
·
2021-06-08 11:18
苹果人机界面指南:
IOS-
设计主题
原文地址https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/iOS设计主题作为应用程序设计师,您有机会提供非凡的产品并升至AppStore榜首。为此,您需要在质量和功能上达到很高的期望。iOS与其他平台的三个主要主题不同:清晰。在整个系统中,各种大小的文字都清晰易读,图标精确而清晰,装饰
小寒含
·
2021-06-08 10:15
iOS-OpenGL ES入门教程(五)初识GLSL
前言前面的基础文章列表
iOS-
零基础学习OpenGLES入门教程(一)iOS-OpenGLES入门教程(二)最简单的纹理DemoiOS-OpenGLES入门教程(三)纹理取样,混合,多重纹理iOS-OpenGLES
安东_Ace
·
2021-06-07 22:34
iOS-
逆向10-应用重签名
《iOS底层原理文章汇总》1.codesignXocde提供了签名工具,codesign,我们通过几个命令就可以完成重签名I.终端命令$securityfind-identity-v-pcodesigning列出钥匙串里可签名的证书$Codesign–fs“证书串”文件名强制替换签名$Chmod+x可执行文件给文件添加权限$securitycms-D-i../embedded.mobileprov
一亩三分甜
·
2021-06-07 22:33
iOS-
服务器返回空值处理
Github上别人写的一个Category,叫做NullSafe,在运行时操作,把这个讨厌的空值置为nil,而nil是安全的,可以向nil对象发送任何message而不会奔溃。这个category使用起来非常方便,只要加入到了工程中就可以了,你其他的什么都不用做,对,就是这么简单。详细的请去Github上查看;https://github.com/nicklockwood/NullSafe#imp
sennnnn
·
2021-06-07 20:14
iOS NSSet彩蛋
关于NSSet和NSArray的区别,这里不再赘述,网上有非常多讲解的很优秀的文章,基础用法可参照以下文章NSSet总结-
iOS-
本文主要分享一个小编使用时发现的彩蛋(如有雷同,纯属意外,联系小编删除)
哇哈哈有点甜
·
2021-06-07 17:04
iOS-
解决调用performSelector产生警告问题
///不需要带参数情况if([self.viewrespondsToSelector:NSSelectorFromString(@"setSubViews")]){//这样会产生警告//[self.viewperformSelector:NSSelectorFromString(@"setSubViews")];SELselector=NSSelectorFromString(@"setSubVi
小小小小攻城狮
·
2021-06-07 05:04
iOS-
逆向14-HOOK原理
《iOS底层原理文章汇总》上一篇文章《
iOS-
逆向13-Dyld》介绍了Dyld的加载过程,本文介绍Hook原理1.HOOKHOOK,中文译为“挂钩”或“钩子”。
一亩三分甜
·
2021-06-07 03:12
iOS-
懒加载
原理:懒加载是当你使用某个对象时才创建,它通过在.h文件中@property定义一个实例变量(使其实例变量拥有set和get方法),并通过复写get方法实现懒加载.当需要使用时**self.实例变量**才能实现懒加载(**_实例变量没有set和get方法是不能实现加载的**)优点:它可以使代码可读性更高,对象和对象之间的独立性更强.一般用法:[self.viewaddSubview:label];
如风家的秘密
·
2021-06-06 22:01
oracle
错误汇总
1,ORA-14452试图创建,更改或删除正在使用的临时表中的索引Step1、先从DBA_OBJECTS/ALL_OBJECTS/USER_OBJECTS中查询到该表的OBJECT_ID:SELECTOBJECT_IDFROMUSER_OBJECTSWHEREOBJECT_NAME='TMP_TEST'Step2、根据查到的OBJECT_ID知道使用该表的SESSION:SELECT*FROMV$
奶茶007
·
2021-06-06 16:56
iOS-
如何正确引用自定义类对象作为属性
某位同事编码。一个类引用一个子类对象作为属性。#import#import"CycleFindTestClas.h"@interfaceTestObjectClass:NSObject@property(nonatomic,strong)CycleFindTestClas*cycle;@end#import"TestObjectClass.h"//此声明CycleFindTestClas类的代码会
叫我龙哥
·
2021-06-06 16:43
iOS底层原理 文章汇总
iOS-
底层原理01-对象底层原理
iOS-
底层原理02-isa和类的结构分析
iOS-
底层原理03-isaiOS-底层原理04-类原理&方法&属性
iOS-
底层原理05-类的结构分析
iOS-
底层原理06-clang
一亩三分甜
·
2021-06-06 13:44
iOS-
搞一波国际化
简介国际化跟字典差不多,比如要支持中文和英文,就会生成两个.string文件,在这两个文件里设一个Key,在中文的.string文件中这个Key对应的是中文,另一个则对应英文。步骤1.创建Localizable.string文件-PS:命名最好为Localizable.string-2.添加Language-一般会选择中文(zh-Hans)还有另一种语言(如日语ja),也可以选择多种语言。--3.
Arthur凌
·
2021-06-06 00:45
iOS-
一种自定义NavigationBar的方式
NavigationBar这个最基本的控件想必大家都接触的不少,更是有各种各样的自定义的方式。我这边也分享一种根据项目需求而构想的自定义NavigationBar,可能并不是很通用,权当参考。先看下项目界面简图:界面.pngBar左边三个控件,返回按钮,logo图片,当前页面的title相对来说是固定的,除了最基础的几个Tab页面不需要返回按钮,每个页面都有这三个控件。Bar右边是不同的功能按钮,
codemovie
·
2021-06-05 06:49
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他