自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (12)
  • 收藏
  • 关注

原创 解决NSTimer不准确的GCD定时器

NSTimer依赖于NSRunLoop,如果RunLoop的任务过于繁重,可能会导致NSTimer不准时。而CGD的定时器会更加准时。

2023-03-02 09:42:59 196

原创 ios获取设备相关状态

ios获取设备cpu使用状态、内存、电池电量

2023-02-28 15:13:43 205

原创 xcode调试僵尸对象

NSZombieEnabled 是一个环境变量,可以控制 Core Foundation 的运行时是否将使用僵尸对。不应长期保留 NSZombieEnabled,因为默认情况下不会有对象被真正析构,这会导致应。特别说明一点,在发布的构建包中一定要禁用 NSZombieEnabled。通常情况下,当引用计数降为 0 时对象会立即被释放,但这使得调试变得困难。了僵尸对象,那么对象就不会立即释放内存,而是被标记为僵尸。问的行为都会被日志记录,因而你可以在对象的生命周期中跟踪对象在代码中被使用的。

2023-02-14 17:34:46 478

原创 xcode中对某些文件禁用ARC

xcode禁用某些文件使用arc

2023-02-14 16:30:20 77

原创 ios 动态字体

目前主流app都已支持动态字体,假如我们的app不支持,用户在不同app之间切换的时候就会感觉很唐突,甚至会因为阅读体验的问题而之间删除支持动态字体iOS App如何支持动态字体呢?我们需要为显示文本的组件,如UILabel、UITextView、UIButton指定自动调整大小的字体,比如为UILabel增加动态字体支持的代码。label.font = UIFont.preferredFont(forTextStyle: .body) label.adjustsFontForCont

2021-10-19 13:23:19 805

原创 ios 深色模式

深色模式从iOS 13开始,用户克在系统级别把外观修改深色模式。深色模式与传统浅色模式相比,有以下优点由于减少发光,使用深色模式能大幅减少电量的消耗,延长 iPhone 的续航能力;对视力不佳或者与对强光敏感的用户更为友好,为他们提供更好的可视性;在暗光环境下,让用户使用手机时更舒服那么如何让我们的app支持深色模式呢?ios语义色号对于深色模式的支持,苹果推荐使用语义话颜色来进行适配。什么是语义色呢?语义色是我们根据用途定义颜色的名字,如使用背景上的颜色定义为backgr

2021-10-08 16:53:53 1478

原创 ios单例

工作中经常使用到单例,但通常为了方便只是提供了一个类方法shareXXX(xxx类名),在share中使用dispatch_once来实现单例,该种方式在独立开发中使用问题倒不大,如果提供给第三方使用时,就会出现问题了。会造成非单例的情况,通常都是重写allocWithZone方法,在改方法中实现单例,并且实现copy协议的copyWithZone和mutableCopyWithZone方法完善单例的实现,下面为ARC模式下单例示例@implementation ARCSingleleModel// 使

2021-07-02 20:54:49 196 2

原创 给uiview设置圆角

通常我们在给视图设置圆角时,都是通过UIView的CALayer的cornerRadius属性进行设置圆角,但改属性要么不设置要么四个角都是圆角。在某些需求中,我们需要某一给角或者某几个角是圆角,实现此方法可以重写uiview的drawRect方法自己重绘。还有一种方式;UIBezierPath有自动绘制圆角矩形的构造方法,通过使用CAShapeLayer来实现,下面通过CAShapeLayer实现圆角。-(void)setBorderWithCorner:(UIView *)view Radius:(C

2021-05-10 15:49:24 1009

原创 宏定义、const、static的区别

宏定义作用:通常定义常用字符串、常见基本变量,使用宏定义constconst 作用:修饰右边基本变量或者指针变量被const修饰变量为只读不能再修改使用:修饰全局变量修饰方法中的参数(不被串改)宏定义与const区北编译时刻:宏:预编译;const:编译时编译检测:宏:没有编译检测;const:有编译检测宏好处:可以定义函数、方法,const不可以宏坏处:大量使用宏,会导致预编译时间过长static作用:修饰局部变量,被static修饰的局部变量,延长生

2021-04-11 20:26:45 540

原创 self和super的关系

我们都知道self是指向当前调用者的指针,那么super呢?有的同学会说平时用super调用父类的方法,会说这是指向父类的指针,其实不是的,super仅仅是一个编译器的指示器,就是给编译器看的,不是一个指针;本质还是当前对象的调用者(self),只要编译器看到super这个标志就会让当前对象去调用父类方法。接下来使用几个示例class、superClass和使用clang编译指令来查看编译或代码示例来证明:先定义两个类Persion,SubPersion,其中SubPersion继承Persion。现在

2021-04-10 19:10:19 129

原创 ios之JSON、XML解析

现大多公司使用接口数据都是json格式,但也有少量很来的系统还是使用XML格式来传递数据。简单聊聊,json、及xml的解析JSON什么是json?首先来说说什么是json。json是一种轻量级的数据格式,一般用于数据交互;服务器方会给客户端的数据,一般都是json格式或者xml(文件下载除外)JSON的格式很像OC中的数组和字典,如下{"name":"张三","age":22}、[{"name":"张三","age":22},{"name":"李四","age":22}]标准的JSON格式

2021-03-29 14:19:18 382

原创 NSCache基本使用

在开发过程中,经常使用NSMutableDictionary来临时存储一些键值对数据,使用也挺方便,apple另外还提供了一个类似功能NSCache,已经有dictionary了为什么再次提供一个功能重复的NSCache类呢。官方文档明确说明了NSCache用于临时存储在资源不足时容易被回收的临时键值对,NSCache有以下几个优点NSCache是线程安全的,在多线程下,使用NSMutableDictionary需要用户自己加锁以保证线程安全,而NSCache是线程安全的,在开发过程中不用而外去考虑线

2021-03-22 18:30:15 280

原创 ios 线程

首先理解什么是进程、线程1.进程进程是指在系统中正在运行的一个应用程序。例如同事打开qq、xcode,系统就会分别启动两个进程。也就是在内存中分别分配一个内存空间,一个运行qq一个运行xcode。只有运行中的程序才是一个进程每个进程之间是相互独立的,每个进程均运行在其专用且受保护的内存空间中。在mac中可通过“活动监视器”可以查看mac系统中所开启的进程线程。一个进程要执行任务,必须得有线程(一个进程至少要有一条线程)一个进程的所有任务都在线程中执行比如使用音乐播放器播放音乐,

2021-03-19 13:29:30 123

原创 NSOperation简介

下面是根据官方文档及个人理解写的,并使用NSOperation简单实现了一个SDWebImage库类似功能的MultiImageDownloadDome有不足或错误之处欢迎指正谢谢NSOperation 简单介绍NSOperation 是居于objective-c对GCD封装居于面向对象的,线程执行方式;NSOperation配合NSOperationQueue也能实现多线程编程;NSOperatio也有两个核心概念操作,队列,在之前的GCD一章中介绍过GCD的核心概念是任务,队列,这两个其实是一样的

2021-03-19 13:07:07 327

原创 ios 线程之 NSThread

NSThread使用NSThread有多种方式:第一种直接alloc创建线程,需要手动调用start启动线程/* 第一个参数:目标对象 第二个参数:方法选择器,调用的方法 第三个参数:前面调用的方法需要传递的参数,可不传 */ NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(cycleLog:) object:@"acb"]; //启动线程

2021-03-16 17:59:01 356 2

原创 ios——GCD基本使用

GCD基本概念什么是GCD?全称是Grand Central Dispatch,翻译为中央调度;纯C实现,提供了非常强大的函数。GCD的优势GCD是苹果公司为多核并行运算提出的解决方案GCD会自动利用更多的CPU内核(如双核、四核等)GCD会自动管理线程的什么周期(线程创建、任务调度、线程销毁)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码任务和队列理解GCD中核心的两个概念任务:执行什么操作(下载图片、耗时循环等)队列:用来存放任务(程序中不可能有一个

2021-03-16 17:53:04 454

原创 NSThread实现线程间通信

线程通信什么是线程间通信?在1个进程中,线程往往不是孤立存在的,多个线程之间需要进行通信。-线程通信之间的体现1个线程传递数据给另一个线程在一个线程中执行完特定任后,转到另一个线程继续执行任务例如:线程A需要线程B的一个结果,线程b将数据传递给线程A,这种两个线程之间交互数据的过程,就是线程通信;可到官方文档《线程编程指南》查看线程通信NSThread线程间通信常用方法- (void)performSelectorOnMainThread:(SEL)aSelector with

2021-03-15 15:29:11 114

原创 ios原子和非原子属性的选择

原子和非原子属性的选择OC在定义属性有nonatomic和atomic两种选择;两则的区别:atomic:原子属性,为setter方法加锁(默认是atomic)使用@property声明属性,内部做了三步操作,1.生成一个带下划线的变量;2.生成getter方法;3.生成setter方法nonatomic:非原子属性,不会为setter方法加锁nonatomic和atomic对比atomic:线程安全,需要消耗大量资源nonatomic非线程安全,适合内存小的移动设备为什么``

2021-03-15 14:34:05 201

原创 ios image 拉伸

ios image 拉伸笔记在开发中会遇到一些小纯色的图片,放入很大一张背景上(比较常见的场景为聊天对话的气泡随文字多少拉伸)自动扩展边缘会失真有锯齿。使图片拉伸有两种方法。1.纯代码方式2.在Assets中对图片设置。在讲解两种拉伸方式时,说说应该拉伸那部分。通常拉伸使其边缘正常应该使用中间部位做拉伸平铺,这就涉及到图片边缘保护,通常设置top为height/2,left:width/2,bottom:height/2-1,right:width/2-1,用中间1个单位设置拉伸。代码如下im

2021-03-04 14:21:28 233

原创 Core Animation简单使用

Core Animation 核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往事半功倍,也就是说,使用少量的代码就可以实现非常强大的功能。core Animation是跨平台的,可以用在Mac OS X和ios平台Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程要注意的是,Core Animation的动画是直接作用在CALayer上的。并非UIVIew核心动画继承结构图下图为继承关系图,虚线为继承某个类,实现为遵守某个协议xc

2021-03-04 14:17:24 203

原创 CALayer了解

CALayer在iOS中,你能看得见的东西基本都是UIview,比如按钮、文本标签、图标等等。其实UIView之所以能显示在屏幕上,完全是应为他内部的一个图层(CALayer),通过UIView的layer属性可以访问这个图层。当UIView需要显示到屏幕上是,会调用drawRect方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统将图层拷贝到屏幕上,于是就完成了UIView的显示。换句话说UIView本身不具备显示的功能,是它内部的层才有显示功能CALayer基本使用通过操作CAL

2021-03-04 14:07:28 103

ehcache所需jar包

ehcache所需jar包

2012-06-14

spring in action示例代码

spring in action示例代码

2012-06-03

spring2.0.6jar包

spring2.0.6jar包

2012-06-03

jsp页面

jsp

2012-05-28

iphone剪

iphone剪

2011-12-30

django1.0框架

django1.0框架

2011-12-12

poi excel poi excel poi excel

poi excel poi excel poi excel poi excel poi excel poi excel poi excel poi excel

2011-07-19

jquery api

jquery api帮助文档 里面有例子

2011-07-06

jquery.js jquery js库

jquery.js库,用jquery必须的你懂的

2011-07-06

jxl操作excle源码例子

jxl操作excle源码例子,java操作excle源码例子

2011-07-05

jxl操作excel模板jar包

jxl操作excel模板jar包,用于导出特定excel模板

2011-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除