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-
引用计数 & 自动释放池
引用计数如何存储?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
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
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
iOS-
常用函数
算术函数intrand():随机数生成。srand(time(nil));//随机数初期化intval=rand()P;//0~49之间的随机数)intabs(inta):整数的绝对值intval=abs(-8);→8//浮点数的时候用fabs。doublefabs(doublea):浮点数的绝对值doubleval=fabs(-12.345);→12.345//整数的时候用abs。doublef
良人不归_墨染锦年
·
2023-03-16 04:34
iOS-
动态方法决议 & 消息转发
在
iOS-
慢速方法查找和
iOS-
快速方法查找中我们分别提到了objc_msgSend的快速查找和慢速查找,如果经历这两步仍未找到该方法的imp会怎么样呢?
Summit_yp
·
2023-03-15 14:23
1电商系统
iOS-
初始化项目
1.当前的软硬件MacbookAiriPhone12手机一枚macOS12.6Xcode14.0Swift(编程语言)纯代码2.初始化项目截屏2022-10-0710.32.34.png3.删除Storyboard截屏2022-10-0710.58.36.png4.重写AppDelegate方法////AppDelegate.swift//cyshop////Createdbyduanon2022
我要当个程序员
·
2023-03-15 07:16
Swift第7天刷新和表格
参考自学
iOS-
三十天三十个Swift项目《Project07刷新和表格》实现效果(自己仿写,Swift5.0,Xcode11.4)刷新和表格【概述】项目很简单,是Swift语言下,表格与刷新功能。
涵啸虎
·
2023-03-15 02:11
iOS-
自定义导航栏后侧滑返回失效,且控制器添加ScrollView后侧滑返回失效
iOS-
自定义导航栏后侧滑返回失效从iOS7开始,系统为UINavigationController提供了一个interactivePopGestureRecognizer用于右滑返回(pop),但是,
DockeriOS
·
2023-03-14 22:35
iOS-
自定义NavigationBar解决不同状态bar在push和pop过渡时出现跳变问题
UINavigationBar的问题在使用UINavigationBar的过程,始终面临一个问题,就是当两个甚至多个ViewController的NavigationBar是不同的状态,比如背景色,透明度,shadowImage等。如果直接修改UINavigationBar的这些属性会发现在push/pop的时候,NavigationBar出现闪烁跳变。于是想自己定制一个NavigationBar
Yu_Chou
·
2023-03-14 20:18
iOS-
常见类型对象
一、iOS数组去重的方法1.利用NSDictionary的AllKeys唯一性使用方法:将数组元素存入字典,利用字典key的唯一性获取去重之后的AllKeys,即为去重后的数据。特点:去重后的数组是无序的NSArray*array=@[@"a",@"a",@"a",@"b",@"c"];NSMutableDictionary*dic=[NSMutableDictionarydictionary];
逆流瞅瞅
·
2023-03-14 15:58
iOS-
账号密码自动填充与添加
参考:https://juejin.im/post/6844903885908213767注意:webcredentials文件的链接地址为https://server.com/.well-known/apple-app-site-associationerror1:发生错误未能完成操作。(OSStatus错误-34018-httpsnotfoundincom.apple.developer.as
iOSWater
·
2023-03-14 13:48
iOS-
底层原理30:内存管理(二)强引用分析
本文主要是通过定时器来梳理强引用的几种解决方案强引用假设此时有两个界面A、B,从Apush到B界面,在B界面中有如下定时器代码。当从Bpop回到A界面时,发现定时器没有停止,其方法仍然在执行,为什么?self.timer=[NSTimertimerWithTimeInterval:1target:selfselector:@selector(fireHome)userInfo:nilrepeats
AcmenL
·
2023-03-13 22:14
iOS-
中装软件项目总结
此项目自2017年伊始一直持续到2018年3月份,此项目一共两个人开发,我和我的另一个同事。这个项目并不是严格意义上的纯oc项目,它混合加入了c++的编码工作,原因是底层的socket封装是使用c++进行的,而我们需要封装远程访问数据库的一些增删改查操作,此外还需要进行长连接的一些测试工作。这个项目是一个移动版的OA协同办公软件,类似微信企业版,所以大部分的重点就在与即时通讯的开发与调试。我的同事
Sun橙子
·
2023-03-13 20:10
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他