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-
关于HandyJSON的个人浅析
一个最基本的遵循HandyJSON的模型的实现如下:...classTestModel:HandyJSON{privatevarname:String?requiredinit(){}}...ifletdata=TestModel.deserialize(from:""){}...需要的数个步骤分别为遵循HandyJSON协议,根据协议实现init方法,以及最后的调用协议方法解析JSON字符串填充
茄子星人
·
2023-03-13 19:39
iOS-
底层(4):内存对齐原理
获取内存大小的三种方式sizeofclass_getInstanceSizemalloc_sizesizeof1、sizeof是一个操作符,不是函数2、我们一般用sizeof计算内存大小时,传入的主要对象是数据类型,这个在编译器的编译阶段(即编译时)就会确定大小而不是在运行时确定。3、sizeof最终得到的结果是该数据类型占用空间的大小class_getInstanceSizeruntime提供的
恍然如梦_b700
·
2023-03-13 08:25
ios-
头疼难找的bug-分享商品合成图内存暴增
在做多款商品的多张商品图片下载后合成一张图片分享微信功能时遇到两个bug,一是内存暴增达1G,二是分享微信聊天好友经常失败内存暴增的原因是压缩图片方法生成的data没有释放,因为image被我存到数据模型中引用了,取消把下载的图片存到模型中就好了。NSData*compressedData=UIImageJPEGRepresentation(image,0.9);分享微信失败原因是下面方法第三个参
zheNgHH
·
2023-03-12 16:24
ios-
面试-UIView 和 CALayer
1,所有的view都是由一个底层的Layer来驱动,每个UIView内部都有一个CALayer在背后提供内容的绘制和显示。2,Layer侧重于图形的显示,而view相当于layer的管理者。3,UIView继承与UIResponder而CALayer继承于NSObject。所以UIView可以响应事件,而CALayer则不能。,4,两者都有树状层级结构,layer内部有sublayers,view
简鱼7819
·
2023-03-12 02:45
iOS-
制作.a静态库SDK和使用.a静态库
创建静态项目创建一个新的工程,选择Framework&Library下面的CocoaTouchFramework。设置工程,将buildactivearchitectureOnly设置为NOSnip20180912_2.png任意建一个类添加方法设置暴露头文件(别人能看到的.h文件)模拟器和真机下分别在debug和release环境下运行代码,总共是4次右键点击Products库文件,Showin
码省理工0
·
2023-03-11 20:15
iOS-
多线程的底层实现
一:线程与进程的区别进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程。1>一个应用程序对应一个进程,一个进程帮助程序占据一块存储空间。也有多个进程的应用(比如浏览器,多开几个页面)2>要想在进程中
yycache
·
2023-03-11 18:52
iOS-
数据库本地存储简介
iOS有一道经典的面试题:数据的持久化存储有哪些方式?标准答案:常见的持久化存储方法有NSUserDefaults、plist、归档存文件、sqlite、CoreData已经新兴的Realm这样的答案对付面试官应该是够了,而实际运用中,你真的能搞清这些技术面向的场景么?技术分类偏好设置偏好设置是最简单的归档方式,适合存储简单的配置条目。使用NSUserDefaults单例就可以存储一些可序列化的类
球哥
·
2023-03-11 15:59
iOS-
先pop掉当前controller, 再push的实现
一、需求场景第一个VCpush到第二个VC;在第二个VC中push出来第三个VC时,要先把第二个VCpop掉,因为需要对第三个VC进行pop时,返回到的是第一个VC需求二、第一版方案ThirdViewController*vc=[[ThirdViewControlleralloc]init];//先pop掉第二个VC[self.navigationControllerpopViewControll
时米高的人生笔记
·
2023-03-11 15:01
独立开发者-实用工具三方服务技术推荐
此篇文章主要推荐关于
iOS-
独立开发者比较实用的工具资源等,让大家能更快的上手
JerseyBro
·
2023-03-11 12:44
iOS-
热更新/组件化/跨平台开发
一、组件化组件化步骤1.每创建一个组件都会带有一个xxx.podspec的索引文件。专门用来存放这些索引文件的库就叫索引库。我们需要将这些文件上传到远程索引库才能保证其他的同事能够拿来使用。2.下面开始创建远程索引库:登录github创建新的仓库创建远程索引库由于之前已经创建好了一个库所以我的库名字跟上面有差异3.如下图,说明已创建成功:仓库地址可以看到远程索引库的地址啦二:本地索引库与远程索引库
穹冰舞
·
2023-03-11 12:09
iOS-
关于View布局的总结
一、写在前面开发者在写View的时候一定逃不掉的就是这个命题。用Frame也好用Autolayout也好,如果没有精心设计过,布局部分一定惨不忍睹。直接使用CGRectMake的话可读性很差,光看那几个数字,也无法知道view和view之间的位置关系。用Autolayout可读性稍微好点儿,但生成Constraint的长度实在太长,代码观感不太好。Autolayout这边可以考虑使用Masonry
Leewins
·
2023-03-10 11:35
iOS-
自定义转场动画
iOS中推出控制器的方式有两种:push和present,iOS的push动画基本上已经成为苹果的一个标志,最好不要自定义,不然和系统的动画不一样会显得不和谐。关于present,更多的可参考:present和dismiss。下面介绍如何自定义present方式的转场动画。1.UIViewControllerTransitioningDelegate协议想自定义转场动画的VC必须遵守UIViewC
Imkata
·
2023-03-10 03:52
iOS-
文件上传和断点离线下载
一.iOS中发送HTTP请求的方案在iOS中,我们常用发送HTTP请求的方案有苹果原生(自带)NSURLConnection:用法简单,最古老最经典最直接的一种方案(iOS9.0弃用)NSURLSession:功能比NSURLConnection更加强大,苹果目前比较推荐使用这种技术第三方框架AFNetworking:简单易用,提供了基本够用的常用功能,维护和使用者多二.NSURLConnecti
Fendouzhe
·
2023-03-09 23:46
iOS-
组件化方案与实践:创建cocoapod私有库详细步骤
制作远程私有库分为以下几个步骤:-创建私有Git远程索引库-创建本地索引库-创建私有Git远程代码库-创建本地代码库-使用Pod库一、创建私有Git远程索引库1.概念:每创建一个组件都会带有一个xxx.podspec的索引文件。专门用来存放这些索引文件的库就叫做索引库。我们需要将这些索引文件上传到远程索引库才能保证其他的同事能够拿来用。2.下面开始创建远程索引库:登录github进行创建创建远程索
XTK_iOS
·
2023-03-09 18:49
iOS-
内存管理(二)-引用计数
Objective-C内存管理的核心思想就是通过对象的引用计数来对内存对象的生命周期进行控制。说直白一点,就是调用retain会加1,调用release就会减1,引用计数清零或者调用dealloc就销毁。引用计数引用计数,即为对象被持有的次数。是内存管理的核心点。下面我们来看一个关于引用计数的例子:-(void)testRefCount{NSObject*obj=[NSObjectalloc];N
xxxxxxxx_123
·
2023-03-09 11:53
iOS-
超简单跳转到外部浏览器之openURL在iOS10前后使用方法(并解决跳转无反应问题)
iOS10之前使用的方法是:[[UIApplicationsharedApplication]openURL:(要跳转的URL)];举个:[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"http://www.baidu.com"]];iOS10之后使用的方法是:[[UIApplicationsharedApplicati
AutismGG
·
2023-03-09 08:48
iOS-
侧滑溜冰问题修复
项目中用到了JXCategoryView并且需要侧滑手势,在VC中用到了self.interactivePopGestureRecognizer.delegate=self;唤起手势,但是出现溜冰bug[侧滑之后松手自动划过去]解决方案是:在TPNavigationController的push方法中,增加判断即可if([selfrespondsToSelector:@selector(inter
aggie1024
·
2023-03-09 04:33
iOS-
底层原理18:Method-Swizzling 方法交换
method-swizzling是什么?MethodSwizzling本质上就是对方法的IMP和SEL进行交换,也是我们常说的黑魔法。方法交换的原理MethodSwizzing是发生在运行时的,在运行时将一个方法的实现替换成另一个方法的实现;每个类都维护着一个方法列表,即methodList,methodList中有不同的方法,每个方法中包含了方法的SEL和IMP,方法交换就是将原本的SEL和IM
AcmenL
·
2023-03-03 12:05
iOS-
开发进阶05:动态库
iOS开发进阶文章汇总目录一、可执行文件链接动态库.dylib二、dyld加载动态库流程三、创建动态库.dylib四、创建动态库Framework五、tdb格式六、静态库与动态库的区别总结一、可执行文件链接动态库.dylib准备代码如下:test.m文件中代码如下:#import#importintmain(){AFHTTPSessionManager*manager=[AFHTTPSession
differ_iOSER
·
2023-03-01 20:16
iOS-
精度数据处理NSDecimalNumber
作用用于对浮点型数据的精度计算doublenum1=6.67;doublenum2=15.666666;NSLog(@"%f",num1*num2);//结果:104.496662,不精确NSDecimalNumber*price=[NSDecimalNumberdecimalNumberWithString:@"6.67"];NSDecimalNumber*totalPrice=[NSDecim
XTK_iOS
·
2023-02-19 05:40
iOS-
网络层到底该如何设计?
一、前言镇楼小图关于网络层,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用,除此以外,肯定还有其他的网络框架,但在实际的App开发中,AFNetworking已经成为了事实上各大App的标准配置。我们一直都有讲分层架构,其中很重要的一层就是网络层,那我们到底改如何设计才能更好的辅助我们的项目呢?最近也看了一些大牛的文章,也是有所获。二、问题简要1.以什么方式将数据
Leewins
·
2023-02-19 01:35
iOS-
使用CocoaPods创建私有仓库(一)
iOS-
创建私有仓库步骤一、创建本地pod私有库cd到你想创建pod库工程的路径,并执行pod库的创建。
怪兽monster
·
2023-02-19 00:46
iOS-
面试题4-内存管理
目录:定时器内存区域、TaggedPointerMRCCopy引用计数、__weak原理autorelease一.定时器self.link=[CADisplayLinkdisplayLinkWithTarget:selfselector:@selector(linkTest)];[self.linkaddToRunLoop:[NSRunLoopmainRunLoop]forMode:NSDefau
Imkata
·
2023-02-18 19:15
【
iOS-
设计模式】六大设计原则之接口隔离原则(ISP,Interface Segregation Principle)
定义客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。定义解读定义包含三层含义:一个类对另一个类的依赖应该建立在最小的接口上;一个接口代表一个角色,不应该将不同的角色都交给一个接口,因为这样可能会形成一个臃肿的大接口;不应该强迫客户依赖它们从来不用的方法。接口隔离原则有点像单一职责原则,但是也有区别,在单一职责原则中,一个接口可能有多个方法,提供给多种不同的调用者所调用
GSNICE
·
2023-02-18 18:48
iOS-
底层原理13:dyld加载流程
本文的目的主要是分析dyld的加载流程。1、知识补充1.1编译过程其中编译过程如下图所示,主要分为以下几步:step1:载入源文件,包括.h、.m、.cpp等文件;step2:进行预处理,替换宏,删除注释,展开头文件,产生.i文件;step3:进行编译,将.i文件转换为汇编语言,产生.s文件;step4:进行汇编,将汇编文件转换为机器码文件,产生.o文件;step5:库链接,对.o文件中引用其他库
AcmenL
·
2023-02-17 02:24
iOS-
报错Error Finding App Store Connect Credentials
通过xcodeupload包的时候,报错ErrorFindingAppStoreConnectCredentials。报错截图如下:报错.png解决办法:先打开Accounts,如果不知道怎么打开,按下图操作:打开Accounts.png登录你需要提交包的AppleID,登录成功后点击“DownloadManualProfiles”更新证书。更新成功后完全退出xcode,再重新打开,重新打包上传(
小四_5e7b
·
2023-02-09 11:29
iOS-
(OC+Swift)机型判断
OC版本:///判断是不是ipad#defineYIsPad([[UIDevicecurrentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad)///判断iPhone4系列#defineYiPhone4([UIScreeninstancesRespondToSelector:@selector(currentMode)]?CGSizeEqua
iOS_我更专业
·
2023-02-07 12:29
iOS-
导航栏看这里就够了
基础介绍内容作用UINavigationController是一个容器类,对ViewController进行栈管理,包含navigationBar。UINavigationBar即UINavigationController顶部的导航栏,主要负责外观背景的展示,并对navigationItem进行栈管理UINavigationItem是导航栏上显示的具体的元素的一个抽象类,UINavigation
喝酸奶舔下盖
·
2023-02-07 05:00
iOS-
面向协议编程(POP)
1.前言1.1传统面向对象编程(OOP)的弊端说起面对协议编程,就不得不先说下使用继承的痛点,因为面向接口编程很大程度上解决的就是继承带来的痛苦。可以看下casa的一篇博客:跳出面向对象思想(一)继承我们可以看到滥用继承的话,后面如果要抽离功能的话就牵一发而动全身,抽离一个功能涉及到继承链上多个类的功能,难道抽离一个业务要把整个继承链涉及的功能都抽出来?显示太麻烦了,这时候如果在一开始使用协议就可
直男程序员
·
2023-02-06 04:11
iOS-
关于网络性能监控的总结
NSURLSessionTaskTransactionMetricsAnobjectthatencapsualtestheperformancemetricscollectedbytheURLLoadingSystemduringtheexecutionofasessiontask.用于封装在执行会话任务期间URL加载系统收集的性能指标。Apple官方文档参考Timelineoftemporalm
iOS_Coder
·
2023-02-06 01:52
iOS-
模仿支付宝快捷设置编辑移动cell动画
#import"EditingViewController.h"@interfaceEditingViewController()@property(nonatomic,strong)UITableView*tableView;@property(nonatomic,strong)NSMutableArray*dataArray1;@property(nonatomic,strong)NSMuta
Imkata
·
2023-02-05 15:43
iOS-
解决SDWebImage图片不同但URL相同时的图片缓存问题
SDWebImage是使用的NSURLSession来加载图片的,而NSURLSession是自带网络缓存的,当遇到服务端url相同而图片已经修改的情况,SDWebImage默认缓存是不会替换图片的,这时我们可以用NSURLSession自带的网络缓存进行图片缓存。当NSURLRequest的cachePolicy为NSURLRequestUseProtocolCachePolicy时,缓存会遵循
LJMagicCoder
·
2023-02-05 06:12
iOS-
关于锁的总结
前言对于iOS中各种锁的学习总结,供日后查阅引子日常开发中,@property(nonatomic,strong)*foo是我们不厌其烦的使用频率最高的声明方式,也很清楚atomic和nonatomic属性的区别,这里再复习一下这两个关键字:atomic:原子性,这个属性是默认的,通过在setter、getter中加锁保证数据的读写安全nonatomic:非原子性,就是不加锁。优点是速度优于使用a
Tr2e
·
2023-02-04 15:51
ios-
面试-UIView 和 CALayer
https://blog.csdn.net/flover5724059/article/details/889265731,所有的view都是由一个底层的Layer来驱动,每个UIView内部都有一个CALayer在背后提供内容的绘制和显示。2,Layer侧重于图形的显示,而view相当于layer的管理者。3,UIView继承与UIResponder而CALayer继承于NSObject。所以U
小样别嘚瑟
·
2023-02-04 10:52
iOS-
底层原理28:block底层原理
本文主要介绍:1、block的本质2、block捕获变量3、block的类型4、__block原理本质通过clang分析Block底层step1:定义block.c文件#include"stdio.h"intmain(){void(^block)(void)=^{printf("lbh");};return0;}step2:通过xcrun-sdkiphonesimulatorclang-archx
AcmenL
·
2023-02-04 09:52
iOS-
一个城市选择器,与美团选择城市相似 包含定位城市 热门搜索城市和历史搜索
仿美团选择城市页面。最上面为当前定位城市,下面依次为历史搜索城市,热门搜索城市,以及所有的城市列表。通过fmdb取数据库数据。具体查看Demo
Cary9396
·
2023-02-04 01:23
Swift第4天
参考自学
iOS-
三十天三十个Swift项目《Project04三屏滑动切换和相机》实现效果(自己仿写,Swift5.0,Xcode11.4)左界面中界面右界面【知识点】项目整体上依旧很简单。
涵啸虎
·
2023-02-04 00:32
iOS-
知识点整理(不定时更新)
runtime1.消息传递先到缓存查找IMP如果没有,则根据isa指针找到类,然后再去methodlist查找有没有方法,如果没有,再去父类里面查找,如果再没有,进入消息转发2.消息转发总共有3次机会挽救动态方法解析Objective-C运行时会调用+resolveInstanceMethod:或者+resolveClassMethod:,让你有机会提供一个函数实现。如果你添加了函数并返回YES,
遮住眼睛的草纸
·
2023-02-02 21:30
iOS-
关于.p12证书导不出的问题以及解决方法
最近发现好多人问我关于打包上线时,这个证书的问题,就在这里说下吧.对于iOS证书(.p12)和描述文件(.mobileprovision)申请p12证书的制作就看前面的,这个大家都会,就不在这里写步骤了。因为苹果有限制,只能制作两个证书,所以别人在使用时,当然不会轻易的删除这个证书吧,直接删除,可能导致一些意想不到的问题,例如可能上线的应用不能正常下载的问题。自己想使用别人创建的证书,首先不能想到
丶Honour
·
2023-02-02 09:01
iOS-
圆形头像+阴影
我们经常会做圆形头像+阴影的效果1.直接添加到View图片效果如下:效果图.png写这篇文章的目的单纯为了记录代码,方便后期自己使用。代码如下:#import"ViewController.h"#import"Masonry.h"#definekWidth50@interfaceViewController(){UIImageView*imgView;CALayer*shadowLayer;}@e
329fd8af610c
·
2023-02-01 23:16
iOS-
窥探 KVO 本质
KVO的实现方式KVO是我们日常开发经常用到的技术,关于KVO的实现相信大家也都有一定的了解,我们来看下苹果的对于KVO的描述:Automatickey-valueobservingisimplementedusingatechniquecalledisa-swizzling.Theisapointer,asthenamesuggests,pointstotheobject'sclasswhich
WhisperKarl
·
2023-02-01 17:10
Swift第6天定位项目
参考自学
iOS-
三十天三十个Swift项目《Project06定位》实现效果(自己仿写,Swift5.0,Xcode11.4)swift06项目效果【概述】项目很简单,是Swift语言下,定位功能的开发
涵啸虎
·
2023-02-01 15:48
iOS-
计算数据之后转成string精度保留
问题项目中需要用到比例这一个字段,接口返回的是string类型的字符串,比如,我们需要展示成20%,接口给的是0.2。一开始是没有问题的,后来客户要求这个比例的范围需要增多,然后iOS端数据处理出现问题了。0.005展示为0%解决问题代码-(NSString*)scaleStr{return[NSStringstringWithFormat:@"%.0f%%",[_model.scalefloat
不明Xia落
·
2023-02-01 10:21
iOS-
网络请求错误码
//NSErrorcodesintheCocoaerrordomain.enum{NSFileNoSuchFileError=4,//文件不存在NSFileLockingError=255,//未能得到一个锁文件NSFileReadUnknownError=256,//读取错误,原因不明NSFileReadNoPermissionError=257,//读取错误是因为权限问题NSFileReadI
知德
·
2023-02-01 10:14
iOS-
基础巩固-NSOperation
NSOperation和NSOperationQueue实现多线程的具体步骤-先将需要执行的操作封装到一个NSOperation对象中-然后将NSOperation对象添加到NSOperationQueue中-系统会自动将NSOperationQueue中的NSOperation取出来-将取出的NSOperation封装的操作放到一条新线程中执行NSOperation是个抽象类,并不具备封装操作的
Masson
·
2023-02-01 09:17
iOS - 最易用的数据库工具类 `XWDatabase` 开源
iOS-
最易用的数据库工具类XWDatabase开源XWDatabaseGitHub地址:https://github.com/qxuewei/XWDatabaseXWDatabase的亮点将数据库操作简化到难以想象的程度
极客学伟
·
2023-02-01 09:26
iOS-
实现星级评分(star score)
我们知道,很多app都有星星评分的功能,特别是商城app,需要你对商品质量、发货速度、服务态度等进行打分。项目开发的app正好也需要这个功能,于是自己进行了封装,使用起来也是很简单,满足大部分功能需要,功能如下:可全星打分可半星打分可不完整星打分可点击、可滑动打分可设置星星数量、大小、间隔等一切根据你的需要来定制,看一下效果图。星星打分效果图.png使用也是非常简单的GBStarRateView*
码渣
·
2023-02-01 05:00
iOS-
完整的触摸事件传递过程
知识点/超人触摸事件分为四个阶段进行传递:1.硬件响应阶段2.系统响应阶段3.桌面响应阶段4.应用响应阶段-4.1事件传递-4.2寻找最佳响应者-4.3事件传递的响应链硬件响应阶段该阶段是用户触摸到电容屏,电容屏响应并产生触摸信号的阶段知识点补充:电容屏原理(百度百科)电容技术触摸面板CTP是利用人体的电流感应进行工作的。电容屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂一层ITO(纳米铟锡金属
树下敲代码的超人
·
2023-02-01 03:38
iOS-AVFoundation、自定义相机、美颜相关
小摩丝.jpg本篇文集涵盖AVFoundatation多媒体相关、定义相机、美颜等.0.iOS-镜头采集(AVCaptureDevice)/
iOS-
镜头采集(Cameracapture&AVCaptureSession
守护地中海的花
·
2023-01-31 23:47
iOS-
圆形菜单JCCircularMenu
因项目需求首页做一个圆形菜单一级二级都是圆形,首先网上寻找了很多相似的demo,始终达不到项目要求,索性自己写一个。先上效果图有两种方法创建圆形布局1.for循环创建2.利用collectionView我这里利用collectionView,因为刷新数据方便首先我们先自定义layout在.m中如下(一级菜单和二级菜单都要自定义layout)自定义layout是创建圆形菜单的关键步骤attibute
Deepsum
·
2023-01-31 22:15
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他