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 底层原理 + 逆向 文章汇总
注:欢迎大家可以关-注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-
(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
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
iOS-
横向滚动跑马灯效果实现
一.demo效果如下:二.如何使用:下载https://github.com/moonCai/MNMarqueeView.git,将MNMarqueeView拖入项目中初始化即可。在获取到文本标题后对MNMarqueeView对象的textList赋值,然后调用run().在需要暂停的合适地方调用pause(),在需要视图销毁时调用stop()。三.实现思路大纲:1.设置textLabelCont
瓷月亮
·
2021-06-04 17:06
iOS-
仿写京东"加入购物车"转场动画
一.转场效果演示:"加入购物车"转场动画二.实现原理上图显示的动画分为Presentationanimations和Dismissalanimations.点击右下角紫色按钮(即"加入购物车"按钮),即触发Presentation:先设置toView(橙色视图)的frame,并将toView平移到屏幕下方,然后使用块动画让fromView(展示手表信息的视图)X方向上旋转π/16度,Z方向上移动-
瓷月亮
·
2021-06-04 12:53
iOS-
生成一个单例对象
浅谈生成一个单例单例作为非常常用的一个设计模式来说,是每个Coder必备的技能之一,但是还有很多人可能写了个假单例,就是我换种实例化方法可能就生成了一个新的对象。1、为什么要生成一个单例对象为了确保在整个应用期间只有一个实例,以达到用户的特定的使用目的。对于频繁使用的对象,可以把多次创建对象所花费的时间节省下来,提高运行效率。如果对象所占用的空间大,那么就可以节省大量不必要的空间,降了内存压力。2
叫我龙哥
·
2021-06-04 09:12
iOS-
刻度尺实现,画图的可怕!
FanDrage(iOS实现一个可以自由缩放,移动的刻度尺)最近公司需要做一个画曲线的坐标轴,动画在坐标轴上运动,当然好多复杂的曲线改变曲率,运动画线,求三次贝塞尔曲线等复杂问题,本次不做讨论,本次只是来实现一个刻度尺的功能,支持缩放,左右移动。drag.gif我先把问题坑抛出来,怕你们看不到1.空DrawRect方式为什么内存是50MB(不开启drawRect项目11M左右)2.drawRect
风清水遥
·
2021-06-04 01:16
iOS-
底层探索04:对象的本质
iOS底层探索文章汇总目录一、将OC代码编译为cpp文件二、objc_setProperty源码探索总结三、补充知识一、将OC代码编译为cpp文件通过iOSisa底层结构分析我们大概了解了isa的原理,但是对象的本质是什么还不是很了解的,可以通过clang编译成cpp文件来查看。实现的代码如下:@interfaceNAPerson:NSObject{NSString*nickName;}@prop
differ_iOSER
·
2021-06-03 23:15
iOS开发-Swift进阶之类、对象、属性!
计算属性延迟存储属性&单例创建方式SIL在底层流程中,OC代码和SWift代码时通过不同的编译器进行编译,然后通过LLVM,生成.o可执行文件,如下所示SIL-1OC中通过clang编译器(clang可以参考这篇文章
iOS
iOS鑫
·
2021-05-31 14:58
iOS开发-Swift进阶之类、对象、属性!
计算属性延迟存储属性&单例创建方式SIL在底层流程中,OC代码和SWift代码时通过不同的编译器进行编译,然后通过LLVM,生成.o可执行文件,如下所示SIL-1OC中通过clang编译器(clang可以参考这篇文章
iOS
iOS大鑫
·
2021-05-26 15:15
iOS开发
swift
iOS开发面试
ios
objective-c
swift
iOS-
界面布局自动适配
近期需要对旧的一个App的界面进行UI改造,要求效果图在不同分辨率(iPhone,iPad)下能保持相同的显示比例效果。大屏幕下的按钮,字体要相应的变大。不堪入目的旧界面origin.png改版后的新面孔new.png一,原布局存在问题图片的固定尺寸导致在大屏中显示太小字号在不同分辨率中不能很好的转换布局采用固定数值的尺寸导致大屏整体的显示效果错乱二,原因图片.png上图为苹果设备的分辨率,对开发
二木又土
·
2021-05-21 10:10
iOS-
网络请求Get
基本上所有的项目都用了网络请求,大多数人都用第三方库,但是系统的也是需要了解的Get请求//1、创建URLNSURL*url=[NSURLURLWithString:GETURL];//2、创建请求对象NSMutableURLRequest*request=[[NSMutableURLRequestalloc]initWithURL:url];#warningiOS9的不同//3、创建会话NSUR
sorry尘埃
·
2021-05-21 09:02
iOS-
(添加隐私权限)上传app到appstore,构建版本一直没有显示
很可能是没有在info里面添加对权限的文字描述,添加描述如下:NSPhotoLibraryUsageDescriptionApp需要您的同意,才能访问相册NSCameraUsageDescriptionApp需要您的同意,才能访问相机NSMicrophoneUsageDescriptionApp需要您的同意,才能访问麦克风NSLocationUsageDescriptionApp需要您的同意,才能
无悔zero
·
2021-05-21 06:03
iOS-
自动化打包
项目开发中经常会遇到打包,企业版打包或者是真机打包,每次打包都是对自己都是一种考验,自动化打包其实很简单,简单了解下xCode编译的命令即可.简介xcrun和xcodebuild是苹果提供的打包项目或者工程的命令,简单看下版本号:xcrun-versionxcrunversion30.xcodebuild版本号:xcodebuild-versionXcode8.1Buildversion8B62m
FlyElephant
·
2021-05-21 01:11
iOS-
>UI中那些容易被人所忽略的小技巧总结分享(一)
前言:在开发中我们经常会遇到一些小问题或者是发现一些小技巧,但我们往往都是觉得自己这次知道了就好了,并没记录起来,做了那么久开发难免会遗忘基础,那么我就把一些常用的常遇到的小技巧总结起来总结(篇章一)关于属性与IB(InterfaceBuilde简称IB,比如storyboard,xib)的连线,连线是可以一对多的,比如一个属性连接着IB中的三个Button,或一个Button连接着代码区的三个属
iOS笔记_小张
·
2021-05-20 17:03
iOS-
宏定义、PCH文件、Plist文件
今天说的这三个都是为我们写项目提供方便的一、宏定义格式:#define宏定义的名字宏定义的内容#defineSCREEN_WIDTH([UIScreenmainScreen].bounds.size.width)#defineSCREEN_HEIGHT([UIScreenmainScreen].bounds.size.height)比如这两个获取屏幕的宽和高,那么下次要用的话就不必写很长的代码直接
磊CC
·
2021-05-20 07:48
2021-05-19
主要参考的学习资源有:1、B站对于CNN、GNN、GCN的简单的科普视频;2、知乎一文读懂图卷积GCN,“机器之心”,GNN综述——从入门到入门等;3、CSDN的资料均收藏在“机器
学习收藏
夹下”。
Aurora加油
·
2021-05-19 20:39
笔记
iOS-
控制器、导航控制器
目录:1、UIViewController(控制器)以及与UIView的关系2、AppDelegate与控制器之间的跳转3、UIViewController的生命周期4、UINavigationController1、UIViewController(控制器)以及与UIView的关系(1)只能有一个window但是可以有多个控制器,可以通过控制器设置首页(2)*UIViewController的概
磊CC
·
2021-05-19 15:04
CoreData的使用
创建DataModelNewFile->
iOS-
>CoreData->DataModel名字虽然可以任意取,但最好还是取和自己存储数据库名字一样的名字。这样可读性更高些。
Carson_Zhu
·
2021-05-19 06:09
iOS-
报错 Error Domain=NSCocoaErrorDomain Code=4099
[Client]Sendingselectorsfailedwith:ErrorDomain=NSCocoaErrorDomainCode=4099"Theconnectiontoservicenamedcom.apple.commcenter.coretelephony.xpcwasinvalidated."UserInfo={NSDebugDescription=Theconnectionto
一只搬运工的自我修养
·
2021-05-19 04:36
iOS-
集成Apple Pay
iOS-ApplePay准备工作-申请MerchantID及对应证书在App中接入ApplePay有两种方式,一种是使用CUPSDK等第三方SDK,另一种就是使用iOS的PassKitFramework和银联的接口接入。前一种方法,开发成本低,接入简单,但对于PaymentSheet定制化程度不够。而第二种开发成本较高。需要对PaymentSheet的逻辑和异常情况做好相应的UI处理。同时在后台也
亦晴工作室
·
2021-05-19 03:42
iOS-
06 项目构架-tabBar坐底-Nav做顶的封装
代码实现#import"ZYTabBarViewController.h"#import"ZYEssenceViewController.h"#import"ZYFriendTrendsViewController.h"#import"ZYMeViewController.h"#import"ZYNewViewController.h"#import"ZYPublishViewController
_正阳_
·
2021-05-19 01:14
iOS-
分享干货-自动生成属性的分类
实际开发中,我们经常利用一些小技巧提高我们的编写代码的速度,比如给一个模型写属性,我们可以利用一个分类快速帮我们打印输出我们要写的属性;步骤1.给NSObject写分类2.提供一个类方法,方便调用(如果写成对象方法,还必须先创建一个对象才能调用,所以优先类方法)3.调用分类的方法,传入字典;代码:#import@interfaceNSObject(Property)+(void)creatProp
船长_
·
2021-05-18 10:58
iOS-
基于UIWebView的混合开发
基于UIWebview的混合编程是指同时使用原生的控件和UIWebView来展现应用界面。合理地使用该方案可以保证应用既有原生界面的流畅交互效果,又有Web界面的良好的动态修改和多平台复用的优势。———以上摘抄自《iOS开发进阶》这一章是非常实用的一章,本文将提炼其中精华部分。15.1混合编程简介基于UIWebview的混合编程本来就是一个挺普通常见的技术框架,但是自从国外开始用Hybird来称呼
StrongX
·
2021-05-18 08:32
iOS-
圆角与阴影(诡异的UIImage)
在日常开发中,给控件加阴影或者圆角是常遇到的事。偶尔还会阴影与圆角并存,这篇文章仅记录我在开发中遇到的问题。letbutton=UIButton(frame:CGRect(x:100,y:100,width:100,height:50))//在这里给button加上title也是可以的,圆角不会对title造成任何影响button.setTitle("button",for:.normal)but
WKCaesar
·
2021-05-18 05:16
ios-
关于动态特性的初步学习
ios的动态特性主要包括三个方面:动态类型动态绑定动态加载还有一些运行时的特性,现在先不做研究啦。。1.动态类型:简单来说就是运行时才确定类型,也就是所谓的id类型ps:这里穿插一下有关isKindOfClass和isMemberOfClass两个方法的区别-(BOOL)isKindOfClass:classObj判断是否是这个类或者这个类的子类的实例-(BOOL)isMemberOfClass:
歌白梨
·
2021-05-17 23:13
ios-
网络请求笔记
1.NSURLConnection1.1常用类1.NSURL:请求地址2.NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体....3.NSMutableURLRequest:NSURLRequest的子类4.NSURLConnection:负责发送请求,建立客户端和服务器的连接。发送NSURLRequest的数据给服务器,并收集来自
程一刀
·
2021-05-17 08:43
20170309 : Network ~ IPV6
大纲ipv6审核被拒绝的解决方案手机测试
iOS-
用手机网络测试Ipv66.1后苹果要求APP兼容IPv6,本地如何搭建IPv6环境测试你的APP?
plantAtree_dAp
·
2021-05-17 00:13
记录 - 护胎 & 远程办公第三十六日(娘家)
下午边查资料边解决iOS开发中多语言管理的问题,解决后意犹未尽,晚饭后就一直在整理笔记,刚才困得实在不行只审查了一遍就发布了《
iOS-
总结-i18n多语言设置》,明天又要清空移动端思绪继续切换至服务器开发思路
二石兄
·
2021-05-16 21:42
上一页
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
其他