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-
开发进阶02:链接与Symbol(上)
iOS开发进阶文章汇总目录一、Mach-O与链接器二、符号的种类与作用三、strip命令四、在LLVM项目中调试nm命令五、总结一、Mach-O与链接器Mach-OMach-O(MachObject)是macOS、iOS、iPadOS存储程序和库的文件格式。对应系统通过应用二进制接口(applicationbinaryinterface,缩写为ABI)来运行该格式的文件。Mach-O格式用来替代B
differ_iOSER
·
2021-03-31 17:12
iOS-
性能优化的那些事
前言本人在这家公司已经三年多了,这款三年多我一直在做的APP也烂熟于心,APP也0到1到目前的500万的用户量;对于APP的功能来说也是比较全面的,用到的技术知识点也比较多吧,APP的优化也是一直在做的事情,而且APP性能的优化也不是一朝一夕的事情,在此离别之际,我将详细说明讲解一下我在三年里对APP性能优化方面做过的一些事,大家仁者见仁智者见智,也欢迎大家进群提供宝贵的意见和建议!基础优化使用A
·
2021-03-25 00:19
ios
iOS-
性能优化的那些事
前言本人在这家公司已经三年多了,这款三年多我一直在做的APP也烂熟于心,APP也0到1到目前的500万的用户量;对于APP的功能来说也是比较全面的,用到的技术知识点也比较多吧,APP的优化也是一直在做的事情,而且APP性能的优化也不是一朝一夕的事情,在此离别之际,我将详细说明讲解一下我在三年里对APP性能优化方面做过的一些事,大家仁者见仁智者见智,也欢迎大家进群提供宝贵的意见和建议!基础优化使用A
·
2021-03-25 00:35
ios
iOS-
动态下载中文字体
从iOS6开始,苹果开始支持动态下载官方提供的中文字体到系统中。使用苹果官方提供的中文字体,既可以避免版权问题,又可以节省应用体积。该方案适合对字体有较多需求的应用。——以上摘抄自《iOS开发进阶》。对于此部分苹果官方有Demo,超级传送门Strong整理了这部分内容,并且封装了代码,这是github链接XFontTool;installdownloadtheXFontExample;dragth
StrongX
·
2021-03-12 00:05
iOS-
富文本显示表情
总想写点什么,用不知道从什么写起,那就想起什么写什么吧(是不是太随便了*_*)。本文讲述如何使用NSRegularExpression、NSMutableAttributedString、NSTextAttachment实现表情文字排。Demo地址。先来看一下实现利用表情图片替换字符串的步骤:1.既然要替换字符为表情,那首先要找到哪些字符需要替换,用什么找呢?用这个NSRegularExpress
蔡胜波
·
2021-03-11 16:15
随手记
核心动画翻译https://zsisme.gitbooks.io/
ios-
/content/chapter14/loading-and-latency.html点sourcecontrol里面的commit
蓝_上海求职
·
2021-03-11 08:26
iOS-
富文本应用 attributedText
首先讲一下什么是富文本富文本在开发过程中主要用于精简代码主要作用还是很大的当然主要是样式方面比如一个label中包含不同的颜色不同的字号不用的背景颜色等等等等下面开始简单讲解讲解一下富文本的应用/*label需要改变的Labelstringlabel中包含的全部文字colorstring需要改变颜色或状态的文字【必须是包含在全部文字中】color需要改变的颜色font需要改变的字号*/+(void
iOS_Gato_老猫
·
2021-03-11 00:45
2018-06-21 项目2:实现UICollectionView以及视频播放器
一.项目需求二.实现列表本次列表展示参考博客为
ios-
用UICollectionView实现瀑布流详解具体分为Cell、Layout和Controller三个层面的实现,实现逻辑如下:1.Cell在Cell
肠粉白粥_Hoben
·
2021-03-10 15:27
iOS-
数组遍历enumerateObjectsWithOptions
typedefNS_OPTIONS(NSUInteger,NSEnumerationOptions){NSEnumerationConcurrent=(1UL<<0),并发排序NSEnumerationReverse=(1UL<<1),逆序};//obj内容//idx数组中的位置//stop为YES的时候停止遍历-(void)enumerateObjectsWithOptions:(NSEnume
linbj
·
2021-03-10 15:35
iOS-
常量与变量
“基本存储类型:32位CPU对应的字节大小”数据类型储存空间大小(单位:字节)范围Byte(字节型)10-255Boolean(布尔型/逻辑型)2True或FalseInteger(整数型)2-32,768~32767Long(长整型)4(有符号32位整数)-2147483648~2147483647LongLong(长长整型)8(有符号64位整数)-9,223,372,036,854,775,8
lukyy
·
2021-03-10 14:54
iOS-
解析HTTP协议六种请求方法: get,head,put,delete,post有什么区别
标准Http协议支持六种请求方法,即:1、GET2、POST3、PUT4、Delete5、HEAD6、Options1,GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。2,HEAD:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅
天黑打老虎
·
2021-03-01 15:38
iOS-
自定义emoji表情键盘
元旦前夕做到一个需求,需要我们自定义一个表情键盘。没写过我的顿时头大,后来翻了一下网上前辈的思路,觉得貌似不是太难啊,于是埋头苦干,废了九牛二虎之力终于做出来了一个简单的表情键盘。下面来记录一下我写的过程相关文章:IOS自定义键盘顶部输入区并且实时计算高度IOS仿支付宝充值数字键盘demo做好了,传送门:https://github.com/xinsun001/XSKeyboardView/tre
菠萝吹雪xs
·
2021-02-01 13:34
IOS自定义键盘顶部输入区并且实时计算高度
相关链接:
iOS-
自定义emoji表情键盘IOS仿支付宝充值数字键盘demo传送门:https://github.com/xinsun001/XSKeyboardView/tree/main想要做出来的效果大概是这样的
菠萝吹雪xs
·
2021-02-01 13:05
iOS-
底层原理23:多线程
本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理1线程和进程1.1线程和进程的定义1.1.1线程线程是进程的基本执行单元,一个进程的所有任务都在线程中执行进程要想执行任务,必须的有线程,进程至少要有一条线程程序启动会默认开启一条线程,这条线程被称为主线程或者UI线程1.1.2进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存空间内通
AcmenL
·
2021-01-04 15:25
iOS-
获取手机信息 含iPhone (12,Pro, mini,ProMax)
获取手机系统版本[[UIDevicecurrentDevice]systemVersion]获取手机系统[[UIDevicecurrentDevice]systemName]获取手机型号+(NSString*)kPhoneType{structutsnamesystemInfo;uname(&systemInfo);NSString*platform=[NSStringstringWithCStr
iixzp
·
2020-12-23 15:53
ios-
内存五大区域
ios内存五大区域image.png栈区函数内部的局部变量,传进来的参数的指针都是放在栈区的,栈区的内存空间由系统管理,它是一段连续的地址空间,遵循FILO先进后出原则,相对堆区来说较小,便于查询。堆区我们通过malloc、calloc、realloc创建的对象都是存在堆区的,堆的内存空间由程序员自己管理的,它是通过链表的结构存储的,遵循先进先出(FIFO)原则,相对栈区来说比较大,由于它的链表结
浪的出名
·
2020-12-14 11:02
iOS-
底层原理14:dyld与objc的关联
在上一篇文章
iOS-
底层原理13:dyld加载流程中梳理了dyld的加载流程,本文将详细介绍dyld与objc是如何关联的。
AcmenL
·
2020-12-10 15:10
iOS-
贝塞尔曲线(UIBezierPath)的基本使用
iOS-
贝塞尔曲线(UIBezierPath)的基本使用
iOS-
贝塞尔曲线(UIBezierPath)详解(CAShapeLayer)iOS-UIBezierPath动画之果冻动画iOS-CGContextRef
香橙柚子
·
2020-12-10 11:34
iOS-CGContextRef开启上下文绘图
文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、图片前文回顾:
iOS-
贝塞尔曲线(UIBezierPath)的基本使用
iOS-
贝塞尔曲线(UIBezierPath)详解(CAShapeLayer
香橙柚子
·
2020-12-08 00:39
iOS-
贝塞尔曲线(UIBezierPath)详解(CAShapeLayer)
iOS-
贝塞尔曲线(UIBezierPath)的基本使用
iOS-
贝塞尔曲线(UIBezierPath)详解(CAShapeLayer)iOS-UIBezierPath动画之果冻动画iOS-CGContextRef
香橙柚子
·
2020-12-07 17:12
iOS-
底层原理6:malloc 源码分析
在
iOS-
底层原理2:alloc、init、new探析中,有介绍过alloc的三个核心方法,其中一个就是calloc,即申请内存,这一节,我们深入探究calloc如何开辟空间。
AcmenL
·
2020-12-07 09:58
iOS-
获取当前时间和时间戳 时间和时间戳互相转换
获取当前的时间时间戳时间和时间戳互相转换等//当前时间str类型+(NSString*)getCurrentTimeString{NSDateFormatter*formatter=[[NSDateFormatteralloc]init];[formattersetDateFormat:@"yyyy-MM-ddhh:mm:ss"];NSString*dateTime=[formatterstrin
LWide
·
2020-12-04 11:47
iOS-
底层原理10:消息流程分析之快速查找
在上一篇文章
iOS-
底层原理9:objc_class中cache原理分析中,分析了cache的写入流程,在写入流程之前,还有一个cache读取流程,即objc_msgSend和cache_getImp在探索
AcmenL
·
2020-11-30 14:12
iOS-
横竖屏基础
一、基础知识1、初识3个枚举1.1、UIDevice.h文件中:设备方向typedefNS_ENUM(NSInteger,UIDeviceOrientation){UIDeviceOrientationUnknown,UIDeviceOrientationPortrait,//Deviceorientedvertically,homebuttononthebottomUIDeviceOrienta
Burgess_9527
·
2020-11-22 00:26
charles抓包-
ios-
安卓
文章目录一、电脑安装charles根证书二、手机端配置(ios)1、现在电脑端端口号2、设置手动HTTP代理3、虽然已经可以抓取移动设备的包了,但是https的还抓取不到,接下来要在目前使用的移动设备上安装证书4、proxy->SSLProxySettings弹出一个ssl代理设置界面三、手机端配置(安卓-以华为为例)1、浏览器输入地址后,弹出如图提醒,给证明命名安装2、在手机查看是否看着成功四、
一个昵称。
·
2020-11-18 00:10
软件测试
Flutter项目接入极光推送
用Xcode打开我们的项目,或者项目目录中找到
ios-
>Runner.xcodeproj然后双击Runner.xcodeproj运行。
蜗牛学开车
·
2020-11-11 10:54
iOS-
真机调试提示Please reconnect the device.
提示信息image.png尝试了多次重连设备无效果最后发现原因:iOS系统版本高于Xcode支持的最高版本,系统都是向下兼容的,可以更新Xcode解决。
HaoyuiOS
·
2020-11-09 13:47
iOS-
解决微信分享二次跳转和分享到微信中显示未验证的应用的问题
适用于微信新版本SDK出现以上原因的大致原因还是新版本微信UniversalLinks配置的问题1.公司官网json文件模板{"applinks":{"apps":[],"details":[{"appID":"TeamID.com.zjlh.XXX","paths":["/byAppLinks/*"]}]}}2.微信官方后台配置UniversalLinksimage.png3.以上1和2必须是公
学_iOS
·
2020-11-04 20:12
iOS-
面试题5-性能优化
目录:卡顿优化耗电优化启动优化APP瘦身一.卡顿优化CPU和GPU的作用CPU计算文字大小、位置、颜色,图片解码等等,计算好之后将数据提交给GPU,GPU拿到这些数据进行渲染,渲染之后将数据放到帧缓存里面,然后视频控制器再从帧缓存读取数据,读取到数据之后直接显示到屏幕上。屏幕成像原理①虽然手机屏幕上的动画是可以动的,其实它都是通过一帧一帧(或者说一页)数据组成的。②当屏幕想显示一帧数据的时候,就会
Imkata
·
2020-11-02 09:20
iOS-
面试题3-多线程
目录:GCD加锁方案一.GCD说一下iOS中多线程的实现方案多线程方案.png①这些多线程方案的底层都是依赖pthread②NSThread线程生命周期是程序员管理,GCD和NSOperation是系统自动管理③NSThread和NSOperation都是OC的,更加面向对象④NSOperation基于CGD,使用更加面向对象同步、异步、串行、并发的区别同步(sync):在当前线程中执行任务,不具
Imkata
·
2020-11-02 09:06
iOS-
面试题2-Runtime、Runloop
目录:isa存储信息分析Class的内部结构、method_t、cacheobjc_msgSend底层调用流程superRuntime-APIRunloop一.Runtime1.isa存储信息分析isa指针isa指针,在arm64架构之前,isa就是一个普通的指针,的确存储着类对象、元类对象的内存地址(实例对象的isa&ISA_MASK得到类对象的地址值,类对象的isa&ISA_MASK得到元类对
Imkata
·
2020-10-28 10:56
iOS-
面试题1-NSObject本质
目录:NSObject本质OC对象的分类isa指针和superclass指针+窥探ClassKVO和KVCCategory分类load和initialize方法关联对象block原理一.NSObject本质Objective-C的对象、类主要是基于C\C++的什么数据结构实现的?Objective-C的对象、类主要是基于C\C++的结构体实现的,其内部只有一个isa指针,点进入Class,发现is
Imkata
·
2020-10-28 09:26
iOS-
类的加载(上)
前言在之前的文章dyld与objc的关联分析,我们分析了_objc_init方法中的各个初始化方法及_dyld_objc_notify_register方法与dyld链接之间的关系,那么接下来我们就探究一下类的相关信息是如何加载到内存的以及懒加载类和非懒加载类map_images分析在上文的最后,我们分析到了map_images方法,map_images方法的主要作用是将Mach-O中的类信息加载
Y丶舜禹
·
2020-10-22 16:26
iOS-
好用的宏定义(判断是否为字符串、数组、字典、判断是否继续、安全字符串(没有的为空))
判断是否为字符串、数组、字典#define__IsStringValid(_str)(_str&&[_strisKindOfClass:[NSStringclass]]&&([_strlength]>0))#define__IsArrayValid(_array)(_array&&[_arrayisKindOfClass:[NSArrayclass]]&&([_arraycount]>0))#de
贵叔勇闯天涯
·
2020-10-22 11:12
iOS 之 Xcode使用方法
Xcode使用方法:打开、选择项目模板、设置项目属性、
iOS-
>Application->SingleViewApplication打开界面:选择项目模板:设置项目属性:1代表项目名称;2代表类前缀;3
yk-ddm
·
2020-10-20 23:03
iOS
ios
iOS-
开源代码(一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等。)
直接给大家po出来源码吧!!谢谢大家支持:NSString+STRegex.h源码////NSString+STRegex.h//NSString+STRegex////Createdbyylson14-1-15.//Copyright(c)2014年yls.Allrightsreserved.////http://git.oschina.net/yanglishuan/NSString-STRe
贵叔勇闯天涯
·
2020-10-15 23:11
iOS-
创建私有库
一些主要的命令操作1.创建本地的私有SpecRepo#podrepoadd[PrivateRepoName][GitHubHTTPScloneURL]$podrepoaddSPSpecshttps://gitee.com/Simple_code/SPSpecs.git2.创建项目$podlibcreatepodTestLibrary3.验证podspec$podliblint4.创建podspec
Simple_Code
·
2020-10-15 17:28
iOS-
视频全屏逻辑
需求:视频小窗全屏切换效果1:状态栏不转屏(大多数App使用)效果2:状态栏转屏实现:一、状态栏不转屏videoDemo1.gif试想一下:视频小窗下面有简介、评论列表、剧集推荐……整个界面转屏??别闹了看上面效果图就能想到一个思路:通过检测设备方向,改变视频父视图(videoView)的大小和方向。实现:1.检测设备方向[[UIDevicecurrentDevice]beginGeneratin
安处幽篁兮
·
2020-10-11 17:31
iOS-
预编译头文件(.pch)的创建与配置
预编译头文件(PrecompilePrefixHeaderFile)的作用是:一次性在全局中导入多个头文件或者宏定义,从而提高开发效率。在远古时代(大概是Xcode5之前)Xcode会在创建项目的时候自动创建这个文件,后来大概是因为要提高编译效率,所以不再自动创建。下面简单的说一下手动创建pch文件。创建pch文件与配置创建:在项目中新建文件并选择【Other】模块下的【PCHFile】创建pch
DDL丶霖
·
2020-10-11 12:50
iOS-
工程和工作空间、静态库和框架之间的关系
使用Xcode创建的工程Project是单独分开的,如果想要几个工程同时存在,可以通过创建工作空间Workspace。工作空间是对各工程的集合,工程文件名的后缀为.xcodeproj,工作空间文件名的后缀为.xcworkspace。静态链接库在公司中有些核心代码,我们不能提供源代码,而又需要复用给其它公司、团队等使用,这时候就需要将此部分的代码封装成静态链接库。库是没有main函数程序代码的集合,
越过三
·
2020-10-11 00:00
iOS-
中如何隐藏启动图片的状态栏
copy的,仅供自己mark使用。如何只隐藏启动图片顶部的状态栏,而不影响程序运行起来其他控制器的状态栏显示?很简单,只需要在info.plist文件中添加一个key
笨鸟后飞了
·
2020-10-10 14:32
iOS-
缓存文件时间
不积跬步,无以至千里不积小流,无以成江海.m文件staticZSWCache*cache=nil;/*单例*///单例方法+(ZSWCache*)shareInstence{@synchronized(self){if(cache==nil){cache=[[ZSWCachealloc]init];}returncache;}}//保证分配了空间,不会出错+(instancetype)allocW
iSongWei
·
2020-10-10 11:28
iOS-
屏幕旋转截屏相关
小摩丝.jpg本篇收录各种屏幕旋转知识点等.1.详解iOS开发中处理屏幕旋转的几种方法2.iOS个别页面强制横屏,其他页面竖屏3.iOS屏幕旋转,单个屏幕旋转的实现4.关于iOS横竖屏的问题5.NSInvocation的使用之——强制屏幕旋转6.屏幕横竖屏旋转系统整理7.IOS屏幕开启旋转,UIAlertController弹窗后,禁止屏幕旋转8.iOS屏幕自动旋转问题以及横屏模式打开APP出现的
守护地中海的花
·
2020-10-09 23:10
iOS-
底层 isa指针结构分析
OC对象的本质在我们日常的开发中,会创建很多个自定义的对象,大部分是继承自NSObject,但是具体到源码实现,就看不到了,怎么办呢?编译器clang就要登场了ClangClang是一个有Apple主导编写,基于LLVM的C/C++/Objective-C的编译器主要用于底层编译,将一些文件输出为C++文件,可以更好的查看底层的结构以及实现逻辑探索对象本质在main中自定义一个类LGPerson,
陪妮走未来
·
2020-10-07 13:28
iOS-
底层 对象内存对齐
什么是内存对齐?内存对齐,简单来说就是编译器为了节省查找内存时间,通过一定的算法将数据按照规律存储,而不是一个一个的紧密排列,每个平台上的编译器都有自己的“对齐系数”(一般为4和8),而iOS的对齐系数为8即8字节对齐。内存对齐的好处CPU存取原理CPU把内存当成是一块一块的,块的大小可以是2,4,8,16字节大小,因此CPU在读取内存时是一块一块进行读取的。每次内存存取都会产生一个固定的开销,减
陪妮走未来
·
2020-10-06 09:00
iOS-
底层(10):objc_msgSend流程分析之慢速查找与消息转发
objc_msgSend慢速查找流程分析前一篇我们分析了汇编快速查找,如果没有找到,就会进入CheckMiss或者JumpMiss.macroCheckMiss//missifbucket->sel==0.if$0==GETIMPcbzp9,LGetImpMiss.elseif$0==NORMALcbzp9,__objc_msgSend_uncached.elseif$0==LOOKUPcbzp9
恍然如梦_b700
·
2020-09-27 16:54
Flutter iOS 环境搭建
1.获取flutterSDK(要翻墙)可以参考地址https://flutterchina.club/setup-macos/#
ios-
设置也可以clonegitclone-bbetahttps://github.com
lam_Seven
·
2020-09-23 14:11
iOS-
多线程2-线程安全、OSSpinLock
一.安全隐患利用多线程异步可以同时做不同的事情,效率更高,但是这样也会有安全隐患。造成安全隐患的原因:一块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源,比如多个线程访问同一个对象、同一个变量、同一个文件。当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题。两个比较经典的问题:存钱取钱.png卖票.png下面用代码来验证卖票问题:-(void)viewDidLoad{[su
Imkata
·
2020-09-22 17:41
iOS-
多线程1-GCD
首先看一下iOS中多线程的实现方案多线程方案.png这些多线程方案的底层都是依赖pthreadNSThread线程生命周期是程序员管理,GCD和NSOperation是系统自动管理NSThread和NSOperation都是OC的,更加面向对象NSOperation基于CGD,使用更加面向对象一.GCD的简单使用1.同步、异步、串行、并发先理解比较容易混淆的术语:同步、异步、串行、并发同步(syn
Imkata
·
2020-09-22 16:16
iOS-
底层(8):类结构之cache_t结构分析
今天我们来研究一下cache_t是什么前文书我们说过,在类的结构体中有个cache_t,我们来看看在类中的位置structobjc_class:objc_object{//ClassISA;Classsuperclass;cache_tcache;//formerlycachepointerandvtableclass_data_bits_tbits;//class_rw_t*pluscustom
恍然如梦_b700
·
2020-09-21 15:28
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他