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-
圆环统计图(CircleChart)
前言:圆环统计图在我们工程中比较常用,正好我们公司项目中要用到,所以自己封装了一下,以方便以后复用。首先,我们看一下效果图:圆环效果图.png其次,实现原理也是比较简单的,底部是一个圆,上面同样位置现叠加一个有会值的圆,中间的文字引用第三方框架***UICountingLabel***使用起来也非常简单GBCircleChart*circleChart=[[GBCircleChartalloc]i
码渣
·
2023-03-28 02:10
iOS-
慢速方法查找
在
iOS-
快速方法查找中,如果没有找到方法实现,最终都会走到__objc_msgSend_uncached汇编函数,汇编源码实现.macroMethodTableLookupSTATIC_ENTRY__
Summit_yp
·
2023-03-26 07:03
iOS-
底层原理27:锁的原理
本文主要介绍常见的锁,以及synchronized、NSLock、递归锁、条件锁的底层分析锁借鉴一张锁的性能数据对比图,如下所示:锁性能对比可以看出,图中锁的性能从高到底依次是:OSSpinLock(自旋锁)>dispatch_semaphone(信号量)>pthread_mutex(互斥锁)>NSLock(互斥锁)>NSCondition(条件锁)->pthread_mutex(recursiv
AcmenL
·
2023-03-25 20:23
iOS - 贝塞尔曲线与CAShapeLayer,优酷播放按钮,引导页跳过按钮
iOS-
贝塞尔曲线与CAShapeLayer,优酷播放按钮,引导页跳过按钮在上看到一篇学习贝塞尔曲线的文章,可惜没有附带demo,所以自己写了一个。
yaoxp
·
2023-03-25 20:15
iOS-
了解一下方法调用和消息转发流程
前言发布此文章主要是对自己所学知识的总结通过文章的方式可以让自己对所学知识加深印象方便日后需要的时候查看,如果有不对的地方欢迎指出文笔不行,多多见谅更详细一点可以去看看霜神的神经病院Objective-CRuntime住院第二天——消息发送与转发整个方法调用流程共分为3个阶段:消息发送动态方法解析消息转发objc_msgSend()要说对象,我相信世界上没有比程序员的对象多的了,因为我们每天都会n
郭小弟
·
2023-03-25 17:05
iOS-
有效控制StatusBar样式
环境Xcode13.4前言有些项目会存在不同NavigationBar颜色不一致的场景,进而需要对StatusBar颜色进行特殊定制,而有时我们明明使用了自以为正确的方式,却达不到目标效果。那是因为,相同的方式在不同配置下,体现的效果不一致,因此理清StatusBar的各种设置很重要。Info.plist关于StatusBar的Key介绍一、UIStatusBarStyle(Statusbarst
达拉崩巴斑德贝迪卜多比鲁翁
·
2023-03-25 06:45
IOS-
基础控件之UIScrollView
UIScrollView是ios中常用的控件,这一篇主要记录一些使用和注意点1.UIScrollView常用属性CGPointcontentOffset表示、设置ScrollView的滚动位置(即与的间距值)CGSizecontentSize用来表示UIScrollView内容的尺寸,滚动范围()UIEdgeInsetscontentInset这个属性能够在UIScrollView的四周增加额外的
KevenT
·
2023-03-25 05:44
iOS-
如何在heightForRowAtIndexPath获取cell又不会引起EXC_BAD_ACCESS呢?
答:只需要在你的项目中把estimatedHeightForRowAtIndexPath方法写实现以下,返回一个估计高度(随便估,笔者建议还是按照正常思路来写,大概高度是多少就返回多少),这样就不会报EXC_BAD_ACCESS错误了.注意:estimatedHeightForRowAtIndexPath方法既是下面这个方法.-(CGFloat)tableView:(UITableView*)ta
IMKel
·
2023-03-24 13:54
iOS-
引用计数 & 自动释放池
引用计数如何存储?1.对象如果支持使用TaggedPointer,苹果会直接将其指针值作为引用计数返回;2.如果当前设备是64位环境并且使用Objective-C2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;3.否则Runtime会使用一张散列表来管理引用计数。isa指针(NONPOINTER_ISA)用64bit存储一个内存地址显然是种浪费,毕竟很少有那么大内存的设备
小李不木
·
2023-03-24 11:09
iOS-
图片浏览按比例缩放(仿微信)
前言:之前项目中用到图片浏览器,由于需要高度的自定义,决定动手写个轮子(目前网上已经有很多成熟的轮子TZImagePickerController)当时也下载了很多大概看了下思路基本都是一致的但是对于图片的缩放一直达不到想要的效果(和微信一样)一、图片浏览器图片的缩放效果对比用一个具有代表性的图片做代表细长得图片大多数的缩放效果.jpg微信的效果.jpg没有对比就没有伤害啊不用我说效果在这里摆着很
Beoyan
·
2023-03-23 22:27
ios-
程序内获取UUID-适用于免登陆,游客模式开发
UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了。1、Target-Capabilities-KeychainSharing-ON开启Keycha
大大的西瓜灬
·
2023-03-23 21:56
二叉树镜像(反转二叉树)
相关知识二叉树的镜像定义:源二叉树镜像二叉树思路有关二叉树的
算法问题
,一般都可以通过递归来解决。那么写一个正确的递归程序,首先一定要分析正确递归结束的条件。
指尖跳动
·
2023-03-23 15:52
iOS 内存五大区
文章摘抄链接:
iOS-
底层原理24:内存五大区iOS底层原理之内存五大区iOS内存详解在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域。
FieryDragon
·
2023-03-23 09:00
iOS-
关于app拉起第三方地图定位偏移的问题
前言最近在研究的一个社交APP设计到定位分享的问题,在获取定位以后分享给好友,好友点击定位拉起第三方地图进行导航,在开发的过程中发现,用户在拉起第三方app后得到的位置和原本的位置出现了偏差。有经验的小伙伴就知道-不同坐标系造成的问题关于坐标系我们的定位一般会用经纬度来进行描述,但是由于一个原因出现了不同的坐标系,来对经纬度会进行加密操作,用于保护用户隐私,这个时候如果双方使用不同坐标系,就会对位
我是何先生
·
2023-03-23 07:07
iOS-
字节数组Byte、Char、NSData、NSString
一:字节-Byte1个字=2个字节=16bit1Byte=1个字节=8bit(1B=1根数据总线=1个字节)1Byte=8bit(8个二进制位00000000,即8个bit位,8位1个字节)1B1KB==1024Byte=2^10(10根地址总线)0000000000~11111111111MB==1024*1024Byte=2^20(20根地址总线)00000000000000000000~11
lukyy
·
2023-03-23 02:39
iOS-
全屏截图、view生成图片、scrollView生成长图
1.全屏截图+(UIImage*)snapshotScreen{UIWindow*window=[UIApplicationsharedApplication].keyWindow;UIGraphicsBeginImageContextWithOptions(window.bounds.size,NO,[UIScreenmainScreen].scale);[window.layerrenderI
zwing
·
2023-03-23 02:24
iOS学习目录
iOS-
基础iOS这张图有多大AppDelegate生命周期[iOS证书][APP配置打包上传]
iOS-
项目基础架构从0到1搭建App基础框架CocoaPodsInfo.plist基本设置[常用三方框架或封装区分
求长生
·
2023-03-22 09:46
iOS-
归纳
iOS内存分区,堆区栈区等内存属性关键字、内存分区总结iOS数据存储之偏好设置和属性列表-
iOS-
数据存储iOS开发数据库-FMDBiOS数据库存储之SQL语句-iOSrunTime运行时机制iOSBlock
leesen
·
2023-03-22 07:06
iOS 动画一些相关知识总结
一些很有用的参考,基本的讲解都可以在这里找到系统的学习CoreAnimation可以看一下这本书https://legacy.gitbook.com/book/zsisme/
ios-
/details这本书的示例代码
摩卡奇
·
2023-03-22 04:14
iOS-
多线程
本文主要介绍了iOS的多线程方案,多线程安全方案,多读单写方案.篇幅稍长,还请耐心看完.进程理论上,每个iOSApp都是一个进程,有自己独立的虚拟空间来存储自己的运行数据.线程每个进程中有多个线程,这些线程共享进程的全局变量和堆数据.多条线程可以在一个进程中并发执行.达到同一时间完成多个任务的效果.其实在单处理器中,所谓的并发,是操作系统不断的在线程间来回切换达到的一个伪并发效果.多线程的作用避免
阿丶伦
·
2023-03-22 00:13
iOS-
类结构(下)
在iOS-isa指向图&类结构中提到了类的结构,并分析了isa和bits中的内容,superclass结构与isa相同,就不多做分析了,今天我们就来看看cache里都有些什么有意思的东西吧。类结构图其实按照咱们之前的知识栈,其实很容易猜到,这里就是存储方法列表的嘛,嗯,很简单嘛~真的简单吗?我们先看看他的数据结构吧。cache_t数据结构可以看到其中用了联合体union,union相关可以看看iO
Summit_yp
·
2023-03-21 18:34
iOS-
底层原理:NSObject的alloc 源码分析
主要NSObject中的alloc是与自定义类的alloc的源码流程的区别,以及为什么NSObject中的alloc不走源码工程。在之前分析了alloc的源码,这篇文章是作为对上一篇文章的补充,去探索为什么NSObject的alloc方法不走源码工程。NSObject的alloc无法进入源码的问题首先在objc4-781可编译源码中的main函数中增加一个NSObject定义的对象,NSObjec
Miraclely
·
2023-03-21 11:20
iOS-
简单集成APNS推送
本篇文章对APNS推送进行几点总结:1.ANPS原理是什么?2.工程如何集成APNS推送3.项目中遇到的坑一.ANPS原理1.App在代码中注册消息推送弹框;2.iOS从ANPS服务器获取DeviceToken,回传给APP;3.APP将DeviceToken发送给自己公司服务器;4.APP发消息到自己公司服务器后,自己公司服务器将要发送的消息,目的iPhone的标识打包发送给ANPS服务器;5.
329fd8af610c
·
2023-03-21 09:04
iOS Google 登录
console.firebase.google.com/资源下载地址:https://developers.google.cn/identity/sign-in/ios/sdk/1.开发者平台-登录/注册账号-添加项目-输入项目名称-点击继续…2.点击
iOS
那根经痛了
·
2023-03-20 17:09
iOS-
空指针,野指针,僵尸对象
浅谈一下空指针,野指针,僵尸对象。空指针:没有存储任何内存地址的指针,空指针的值是0;野指针:指针指向的对象已经被释放了;僵尸对象:指针指向的对象被释放后,所占用的内存没有重新分配给其他对象,此对象就被称为僵尸对象;示例:首先先将Xcode的自动引用计数关闭,并且打开僵尸对象的检测。关闭自动引用计数自动引用计数关闭.png打开僵尸对象的检测EditScheme.png打开僵尸对象的检测.png创建
厦门_小灰灰
·
2023-03-20 16:19
2电商系统
iOS-
简单的注册登陆
没啥好写的基于第一节的内容添加用户名框,密码框,登陆按钮,以及简单的登陆判断。////LoginViewController.swift//cyshop////Createdbyduanon2022/10/7.//importUIKitclassLoginViewController:UIViewController{vardeviceSize=UIScreen.main.bounds;varus
我要当个程序员
·
2023-03-20 15:42
iOS-
设计模式详解
序言最近在看设计模式方面的资料,写这篇,一方面是为了做笔记,整理归纳,方便后续查看。二也是为了方便有同样需求的小伙伴查阅,省去网上搜索相关资料的时间,大部分都是借鉴参考其他人的,只是做了整理,总结,如有不喜勿喷。如有错误,欢迎指正。先来一张设计模型图设计模式.png摘自百度百科的介绍设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开
路飞_Luck
·
2023-03-20 11:42
iOS-
自定义实现通知功能
此篇为模仿系统NSNotificationCenter的底层实现,为我自己的构想,具体底层如何实现,不得而知首先,自定义文件名为SFTongzhiCenter,因为通知是多对多的关系,所以先定义一个可变字典保存印射关系,@interfaceSFTongzhiCenter()@property(nonatomic,strong)NSMutableDictionary*classMap;@end@im
xiaofu666
·
2023-03-20 10:55
iOS-
如何机智的去除UITableView的Cell分割线
1、第一种去除所有的分割线[tableViewsetSeparatorStyle:UITableViewCellSeparatorStyleNone];2、第二种去除指定cell的分割线cell.separatorInset=UIEdgeInsetsMake(0,0,0,cell.bounds.size.width);
BU二先森
·
2023-03-20 09:56
iOS-
网络请求依次执行,NSOperationQueue与dispatch_semaphore
apple.jpeg前提:近期做的项目中,用到了七牛云上传图片,七牛云的介绍就不多说了,安全,低成本(具体的集成查看七牛官网)。移动端的图片上传到七牛,服务器再去七牛拽取图片,拽取的时候可以设置参数以便拽下来的图片就是裁剪(等操作)好的。与服务器定的流程:第一步:客户端请求服务器,拿到服务器生成的七牛token第二步:客户端上传图片到七牛,成功后拿到七牛返回的图片地址第三步:将图片地址再次上传到服
黑色桃芯
·
2023-03-19 23:50
iOS-
屏幕旋转影响UITableViewCell的布局
这段时间做公司直播三分屏功能,遇到的问题记录一下。1、在刘海屏iPhone上,再推荐课程列表横屏之后,布局错误。问题页面:问题页面页面在不是刘海屏iPhone的手机是没问题,第一时间我就想到了安全区问题。本身页面也需要用到安全区的大小,并且本省这个播放页面是放在Window上的,不能修改安全区,这样会影响其他页面的布局;也百度了好多相关的问题,都没有起作用。在没有刘海的手机正常,我打开UI的层次视
小驴拉磨
·
2023-03-19 22:41
iOS-
底层原理 19:类扩展 与 关联对象 底层原理探索
本文的主要目的是针对类的加载的一个扩展,主要讲讲类拓展和分类的底层实现原理【面试题】类扩展与分类的区别1、category类别、分类专门用来给类添加新的方法不能给类添加成员属性,添加了成员属性,也无法取到分类中用@property定义变量,只会生成变量的setter、getter方法的声明,不能生成方法实现和带下划线的成员变量注意:其实可以通过runtime给分类添加属性,即属性关联,重写sett
响彻天堂
·
2023-03-19 16:04
随机算法之水塘抽样算法
我第一次见到这个
算法问题
是谷歌的一道算法题:给你一个未知长度的链表,请你设计一个算法,只能遍历一次,随机地返回链表中的一个节点。这里说的随机是均匀随机(uniform
码农小光
·
2023-03-19 15:38
iOS-
逆向15-HOOK原理《下》
《iOS底层原理文章汇总》上一篇文章《
iOS-
逆向14-HOOK原理》介绍了符号绑定的过程,本文继续介绍Hook原理image1.fishhook如何通过符号找到非懒加载符号表中绑定的地址进行修改的呢,
一亩三分甜
·
2023-03-19 12:01
iOS-
使用socket遇到的问题Attempt to connect to host timed out
socket在平时开发中还是比较常用到的,在这里我记录一下今天刚遇到的问题,查了许久百度都没有想要的答案,最后是在同事的帮助下解决的,所以记录一下,希望帮到有需要的开发者。1、ErrorDomain=GCDAsyncSocketErrorDomainCode=3今天连接socket的时候,遇到了一个很常见的问题,就是连接超时,报了以下错误ErrorDomain=GCDAsyncSocketErro
卓敦
·
2023-03-19 08:07
iOS 开发进阶 文章汇总
1、多环境开发配置
iOS-
开发进阶01:多环境配置xcconfig编写指南2、链接与SymboliOS-开发进阶02:链接与Symbol(上)
iOS-
开发进阶03:链接与Symbol(下)符号表SymbolTable3
differ_iOSER
·
2023-03-19 06:23
Swift-02:类、对象、属性
计算属性延迟存储属性&单例创建方式SIL在底层流程中,OC代码和SWift代码时通过不同的编译器进行编译,然后通过LLVM,生成.o可执行文件,如下所示imageOC中通过clang编译器(clang可以参考这篇文章
iOS
恍然如梦_b700
·
2023-03-19 01:35
单元测试
可以有其他方式创建File->new->target->
iOS-
>iOSUnitTestingBundle。
Carson_Zhu
·
2023-03-18 23:36
iOS-
代码签名--苹果代码签名的格式
1,代码签名验证代码的“正确性”是计算机科学中最难的问题之一,目前没有“完美”办法能够分析任意一段代码,确定它是否是恶意的,而目前通常对代码验证的方法是数字签名。目前数字签名用于验证验证代码来源:由签名者的私钥进行签名,其他使用者可以用公钥进行验证。验证代码的真实性:对代码的任何修改都有可能破坏数字签名。代码签名不是苹果独创的,其他开发语言都在使用它,比如java。但是苹果对于整个代码签名的解决方
简鱼7819
·
2023-03-18 16:59
iOS-
底层原理 15:dyld加载流程
本文的目的主要是分析dyld的加载流程,了解在main函数之前,底层还做了什么?引子创建一个project,在ViewController中重写了load方法,在main中加了一个C++方法,即kcFUnc,请问它们的打印先后顺序是什么?image运行程序,查看load、kcFunc、main的打印顺序,下面是打印结果,通过结果可以看出其顺序是load-->C++方法-->mainimage为什么
响彻天堂
·
2023-03-18 14:56
iOS-
UITableView数据源同步
问题多线程下,修改tableview的数据源,数据同步问题的解决方案?应用场景:在某些新闻类app中,当有用户做一些删除操作(比如关掉了一条广告),然后同时又有数据的后向刷新(loadMoreData)删除操作是在主线程,loadMoreData是在子线程,这就涉及到了多线程对数据的访问中,怎么保证数据源同步问题。解决方案并发访问,数据拷贝我们来看一幅时序图多线程并发访问数据源主线程对数据源1进行
时米高的人生笔记
·
2023-03-18 06:29
iOS-
底层原理-内存管理
一使用CADisplayLink、NSTimer有什么注意点?循环引用范例代码CADisplayLink@property(strong,nonatomic)CADisplayLink*link;//1.发生内存泄露self.link=[CADisplayLinkdisplayLinkWithTarget:selfselector:@selector(linkTest)];[self.linkad
贝勒老爷
·
2023-03-17 23:48
iOS-
集成多个SDK内部文件重复冲突解决
最近使用Hbuilder集成一个项目,集成了很多sdk,发现有两个sdk都是用了Masonry第三方库布局,然后编译报错,关键字:duplicatesymbol,出现这个就表示有重复文件了,我们需要把其中的一个sdk文件中生成的重复的.o文件一一删除即可,如下则为相关位置,我将把Masonry.framework的相关重复文件一一移除合并解决冲突问题。1步骤如下:1.打开终端cd到所要修改的sdk
lanlinxl
·
2023-03-17 20:32
iOS-
模型
在开发中,经常使用到模型,通常做法就是字典转模型字典转模型的过程最好封装在模型内部模型应该提供一个可以传入字典参数的构造方法-(instancetype)initWithDic:(NSDictionary*)dic;+(instancetype)xxxWithDic:(NSDictionary*)dic;使用字典的坏处一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编
皆为序幕_so
·
2023-03-17 12:50
iOS-
打包上架构建版本一直不出现/正在处理/自动消失
iOS开发过程中,打包上架苹果审核是一个不可或缺的环节。说实话,这个问题我遇见两次了,为了让自己长点记性,决定写下来。首先,列举几种情况:1.iPa包上传至Appstore后,一个小时内不显示构建版本。(等待15分钟-25分钟是正常的)构建版本.png2.“活动”栏目下,所有构建版本长时间显示“正在处理”,或者一段时间之后,构建版本直接消失不见。正在处理.png结果:上述两种情况出现的时候,说明你
冻结的转身
·
2023-03-17 06:10
ios-
使用AVFoundation自定义系统相机
本文主要是封装一个类,实现相机系统的静态图片捕捉以及视频的功能。第一步:设置相关参数:设置相关参数第二步:初始化相关参数:1.初始化捕捉会话,以及设置图像的分辨率。高分辨率2.拿到默认视频捕捉设备,并设置为当前活跃输出对象设置当前活跃对象3.选择默认音频捕捉设备设置音频输入设备4.初始化摄像头静态捕捉对象以及设置捕捉到的图片格式以及添加入捕捉会话对象那添加静态捕捉对象5.创建一个AVCapture
小小的邓
·
2023-03-17 05:06
iOS-
深入研究Block
前言在我们的实际开发中,Block的使用率相当之高,我们在使用Block的时候,会遇到各种各样的问题,比如经典的循环引用,那么这些问题到底是怎么产生的,我们又该如何去解决,这就需要我们对Block有深入的了解,才能更好的解决这些问题,今天我们就来深入分析一下Block。1Block的类型我们知道Block分为全局Block、栈Block、堆Block。我们怎么区分或者判断是哪种Block呢,我们来
似水流年_9ebe
·
2023-03-17 02:02
iOS-
马甲包制作注意事项
iOS马甲包过包注意事项核心代码(非马甲代码)的注意事项版本控制由于开发过程中核心代码会随着需业务需求的改变,需要考虑做好版本控制,个人认为可以将核心代码通过git进行版本控制。避免”代码重复“的问题(苹果审核规则4.3)随着核心业务功能的增加和代码量的增加,核心代码也需要考虑“代码重复”问题,个人建议可以将核心代码打包成.a的SDK,只暴露方法调用的.h文件。避免“关键字”问题核心代码里避免敏感
鱼与熊掌不能兼得
·
2023-03-16 19:07
iOS-
核心动画
前言:核心动画的基础知识,包括基本动画、帧动画、转场动画相关知识。一、核心动画(CoreAnimation)1.1简介CoreAnimation,它是一组动画处理API,使用它能做出非常炫丽的动画效果,使用少量的代码就可以实现非常强大的功能。CoreAnimation可以用在MacOSX和iOS平台。CoreAnimation的动画执行过程都是在后台操作的,不会阻塞主线程。CoreAnimatio
梦蕊dream
·
2023-03-16 17:32
iOS-
代码签名--重签名
1,重签名的原因?有需求就有市场,当前苹果的签名机制也允许用户可以重签名一是代码有业务移交等类似需求操作,需要重签名后使用二是有恶意攻击,代码注入,重签名后让用户安装,添加挂件脚本或者恶意操作三是有些软件不好放在AppStore上2,重签名有哪些操作,要点?1,三要素:包名bundleID、embedded.mobileprovision、证书包名bundleID这大家都知道,手机上app的标识。
简鱼7819
·
2023-03-16 13:36
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他