自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 [iOS]-NSTimer与循环引用的理解

iOS- NSTimer与循环引用理解

2022-09-02 17:02:07 1145

原创 [iOS]-网络请求总结

iOS-网络请求总结

2022-09-02 17:01:15 1148 1

原创 [iOS]-UIKit

iOS-UIKit浅谈

2022-09-02 17:00:01 884

原创 [iOS]-Category、Extension和关联对象

iOS-Category、Extension和关联对象浅谈

2022-08-14 20:53:40 553

原创 [iOS]-autoreleasePool

iOS-autoreleasePool浅谈

2022-08-14 20:52:23 1122

原创 [iOS]-RunLoop

iOS-RunLoop浅谈

2022-08-14 20:37:46 400

原创 iOS中的锁

iOS相关锁总结

2022-08-07 09:32:05 393

原创 [iOS]-KVO+KVC

iOS-KVO、KVC原理总结

2022-08-07 09:31:24 350

原创 [iOS]-NSOperation、NSOperationQueue

iOS-NSOperation、NSOperationQueue总结

2022-08-07 09:30:41 352

原创 [iOS]-pthread、NSThread

iOS-pthread、NSThread总结

2022-08-07 09:29:42 195

原创 [iOS]-单例模式\通知\代理

iOS-单例、通知、代理总结

2022-08-07 09:28:47 389

原创 [iOS]-数据持久化

iOS-数据持久化浅谈

2022-08-07 09:27:58 504

原创 [iOS]-GCD(Grand Central Dispatch)

iOS-GCD浅谈

2022-08-07 09:27:00 642

原创 [iOS]-weak底层原理(sidetable相关,附带引用计数原理)

[iOS]-weak底层原理(sidetable相关,附带引用计数原理)

2022-07-31 08:32:37 826

原创 [iOS]-Block

block浅谈

2022-07-31 08:31:37 250

原创 [iOS]-消息传递和消息转发机制

消息传递和消息转发机制汇总

2022-07-24 08:05:05 505

原创 [iOS]-ARC

iOS内存管理ARC浅谈

2022-07-24 08:04:20 233

原创 [iOS]-OC对象底层探索

OC对象底层探索浅谈

2022-07-24 08:03:50 584

转载 一篇文 带你搞懂,虚拟内存、内存分页、分段、段页式内存管理(超详细)

清楚讲解虚拟内存相关

2022-07-24 08:02:24 3289 1

原创 iOS内存分配与五大区域

iOS内存分配与五大区域浅谈

2022-07-24 08:00:13 2549

原创 [iOS]-事件处理与响应者链

[iOS]-事件处理与响应者链浅谈

2022-06-07 21:22:38 505

原创 [iOS]-JSONModel源码学习

[iOS]-JSONModel源码学习浅谈

2022-06-07 12:27:16 349

原创 [iOS]-NSString的三种管理方式

[iOS]-NSString的三种管理方式浅谈

2022-06-05 13:20:22 263

原创 [iOS]-工厂设计模式

[ios]-工厂设计模式浅谈

2022-06-04 20:44:36 385

原创 AFNetworking源码-AFURLSessionManger和AFHTTPSessionManager

本博客借鉴自大佬博客:大佬博客了解了AFNetworking的基本框架和以GET网络请求为例的请求原理流程之后,我们来以板块的形式了解一下AFURLSessionManger和AFHTTPSessionManager这两个通信模块。首先看下图:我们知道AFURLSessionManager是AFHTTPSessionManager的父类,其中AFURLSessionManager内部还包含AFURLSessionManagerTaskDelegate和_AFURLSessionTaskSwizzli

2022-05-28 20:31:34 466 1

原创 AFNetworking源码学习

简介:AFNetworking是iOS、macOS、watchOS和tvOS的一个令人愉快的网络库。它建立在基础URL加载系统之上,扩展了构建到Cocoa中的强大的网络高级抽象。它有一个模块化的体系结构,具有设计良好、功能丰富的API,使用起来很愉快。然而,也许最重要的特点是,每天都在使用AFNetworking并为其做出贡献的开发人员组成了一个令人惊叹的社区。AFNetworking为iPhone、iPad和Mac上一些最受欢迎、广受好评的应用提供了动力。参考的大佬博客:AFNetworking详

2022-05-22 16:16:56 1052

原创 [iOS]-SDWebImage实现机制及源码分析

SDWebImage的主要功能以及一些知识点提供UIImageView的一个分类,以支持网络图片的加载和缓存管理其是一个异步的图片加载器一个异步的内存+磁盘图片缓存支持GIF图片支持WebP图片(WebP图像格式是新的图像压缩格式)后台图片解压缩处理确保同一个URL图片不被下载多次以及确保虚假的URL不会被反复加载确保下载及缓存时,主线程不被阻塞结构 (设计思路借鉴:提供多种接口,到底层调用到同一个方法,减少调用方对可选参数的传递):UIImageView+WebCache和UIBu

2022-05-04 21:28:39 1453 1

原创 剑指offer练习合集

题目: 剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000题解:class Solution {private:string str;public: string replaceSpace(string s) { for (auto c : s) {

2022-04-27 11:37:48 357 3

原创 剑指offer第二天-链表(简单)

题目1: 剑指 Offer 06. 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000题解:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x)

2022-04-26 14:07:40 518

原创 剑指 Offer-30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例:MinStack minStack = new MinStack();minStack.push(-2);min

2022-04-26 09:54:51 117

原创 剑指offer-09. 用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1:输入:["CQue

2022-04-25 22:19:54 64

原创 [iOS]-Blocks

一、Blocks 概要什么是BlocksBlocks是C语言的扩充功能。可以用一句话来表示 Blocks的扩充功能,带有自动变量(局部变量)的匿名函数。顾名思义,所谓匿名函数就是不带有名称的函数。C语言的标准不允许存在这样的函数。例如以下源代码∶int func (int count);它声明了名称为 func的函数。下面的源代码中为了调用该函数,必须使用该函数的名称func。int result = func(10);如果像下面这样,使用函数指针来代替直接调用函数,那么似乎不用知道函数名

2022-04-24 18:44:19 334

原创 [iOS]-nil、NULL、和NSNull的区别和使用

基本概念nil用来给对象赋值(OC中的扔和对象都属于id类型)NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在OC中类是一个对象,是类的meta-class的实例)NSNull则用于集合操作,它们虽然表示的都是空值,但使用的场合完全不同。使用案例id object = nil;//判断对象不为空if (object) { }//判断对象为空if (object == nil) { }//数组初始化,空值结束NSArray *array = [[N

2022-04-17 12:16:12 469

原创 [iOS]-内存的五大分区

在iOS中,大家平常经常说堆区,栈区,其实这些都是存在虚拟内存虚拟内存可以主要分为五个大区(堆区、栈区、全局区、常量区、代码区)。一、堆区(heap)■ 是由程序员分配和释放,用于存放运行中被动态分配的内存段。大小不定,可增加和缩减■ 堆向高地址扩展的数据结构,是不连续的内存区域。程序员负责在何时释放内存(如用free或delete),在iOS的ARC程序中,系统自动管■ 理计数器,计数器为0的时候,在当次的runloop结束后,释放掉内存。堆中的所有东西都是匿名的,这样不能按名字访问,而只能

2022-03-27 13:43:46 707

原创 [iOS]-POST和GET网络请求

目录标题介绍POST和GET网络请求POST网络请求功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入介绍POST和GET网络请求GET是向服务器发索取数据的一种请求,而POST是向服务器提交数据的一种请求。在使用POST网络请

2022-03-20 11:37:49 3204

原创 [iOS]-调用face ID or Touch ID

face ID和Touch ID都是iOS开发中常用的安全验证手段,我们通常会在手机解锁、应用内验证身份等操作中使用,下面我们将讲到如何在应用内调用face ID和Touch ID:权限设置首先我们需要在info文件中进行隐私权限的设置:我们添加上图中蓝色标注行的权限,这样我们就有调用face ID或Touch ID的权限了导入头文件#import <LocalAuthentication/LocalAuthentication.h>创建face ID或Touch ID的全部代码

2022-03-12 11:46:23 3369

原创 [iOS]-系统框架

虽说不使用系统框架也能编写 Objective-C代码,但几乎没人这么做。即便是NSObject 这个标准的根类,也属于Foundation框架,而非语言本身。若不使用Foundation,就必须自己编写根类,同时还要自己来写collection、事件循环,以及其他会用到的类。此外,若不用系统框架,也就无法使用Objective-C来开发 Mac OS X及 iOS应用程序了。系统框架很强大,不过它是历经多年研发才成了今天这个样子的。因此,里面也许会有不合时宜而且用起来很蹩脚的地方,但也会有遗失的珍宝藏于其

2022-02-27 20:07:31 2421

原创 [iOS]-AVPlayerViewController实现视频播放

AVKit从iOS8开始被引入iOS平台。针对iOS平台的AVKit是一个简单的标准框架-只包含一个AVPlayerViewController类。它是UIViewController的子类,用于展示并控制AVPlayer实例的播放。AVPlayerViewController具有一个很小的界面,提供以下几个属性:■ player:用来播放媒体内容的AVPlayer实例■ showsPlaybackControls:用来表示播放控件是否显示或隐藏。■ videoGravity:视频的显示区域设置■

2022-02-20 17:36:09 7337

原创 [iOS]- UIPickerView基础

前言UIPickerView是很常用的一个UI控件,在各种购物平台选择地址时候都是必备的,下面我们来说一下具体的使用:UIPickerView的创建UIPickerView的创建类似于UITableView,这里我们的UIPickerView的创建全部放在(实现文件).m文件中实现(假设该类名叫sportPageView):首先,我们用“class-continuation分类”签订协议并声明其属性//利用“class-continuation分类”签订协议并声明其属性@interface sp

2022-02-20 17:02:53 1340

原创 OC内存管理

在OC这种面相对象的语言里,内存管理是个重要概念。要想用一门语言写出内存使用效率高而且又没有bug代码,就得掌握其内存管理模型的种种细节。一旦理解了这些规则,你就会发现,其实OC的内存管理没那么复杂,而且有了“自动引用计数”之后,就变得更为简单了。ARC几乎把所有内存管理事宜都交由编译器来决定,开发者只需专注于业务逻辑。一、理解引用计数OC语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数器。如果想使某个对象继续存活,那就递增其引用计数;用完之后,就递减其计数。计数变为0,就表示

2022-02-09 13:59:59 977

空空如也

空空如也

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

TA关注的人

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