自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【iOS】类与对象底层探索

这里我们需要注意一个问题:为何图中的以及中的类信息打印的结果都是CJLPerson?0x00000001000081e8是perosn对象的isa指针地址,他&后得到的结果是创建person的类CJLPerson。而0x00000001000081c0是isa中获取的类信息所指的类的isa的指针地址,就是CJLPerson类的类的isa指针地址,在Apple中我们将其简称为元类。故而,我们可以了解到两个打印都是CJLPerson的根本原因是元类导致的。

2025-05-02 18:13:31 1399

原创 【iOS】Blocks学习

浅浅进行Blocks学习

2025-04-21 17:18:05 1416 2

原创 【iOS】小蓝书学习(五)

这种对象内存不可能遭到覆写,并且收到消息后会抛出异常,准确说明发送过来的消息,并描述回收之前的那个对象。开启功能后,系统会修改对象的isa指针,指向特殊的僵尸类,从而使对象变为僵尸对象,他会相应所有选择子,响应方式为:打印一条包含信息内容及其接收者的消息,然后终止应用程序。这样写的问题是新值和实例变量的值是一样的,只有当前对象还在用引用这个值的时候,那么设置方法中的释放操作会令值保留计数变为0,那么就会被系统回收从而产生crash,接下来retain操作则是错误的,使用ARC的时候不会存在这种流失的现象。

2025-04-17 15:03:48 588

原创 【iOS】UITableView性能优化

笔者近期刚刚结束第二个项目,了解学习学长博客以及自己搜索资料,发现有很多可以进行优化的部分,本篇博客对其性能优化进行一个总结,主要从CPU以及GPU两个方面出发,去解决性能优化的问题,以提高用户使用的流畅度。CPU:对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解码、图像的绘制。GPU:接收提交的纹理和顶点描述、应用变换、混合并渲染、输出到屏幕。

2025-04-16 17:33:37 1074

原创 【iOS】UIPageViewController学习

笔者最近在写项目时想实现一个翻书效果,上网学习到了今天写本篇博客总结一下关于该控制器的学习,这里笔者学习较浅,后期再进行补充。下面我给出一张图来展现。

2025-04-13 20:37:57 865

原创 【iOS】小蓝书学习(七)

虽然不使用系统框架也可以写出OC代码,但几乎没有人这么做,即便我们经常使用的NSObecj这个标准的根类,也是属于Foundation框架,而非语言本身。

2025-03-02 19:21:03 734 1

原创 【iOS】小蓝书学习(四)

对象之间经常需要相互通信,而通信方式有很多种。OC开发者广泛使用一种名叫委托模式的编程设计模式来实现对象间的通信,该模式的主旨是:定义一套接口,某对象若想要接受另一个对象的委托,则需遵从此接口,以便成为其“委托对象”。而这“另一个对象”则可以给其委托对象回传一些信息,也可以在发生相关事件时通知委托对象。类中经常容易填满各种方法,而这些方法的代码则全部堆在一个巨大的实现文件中。在这个情况下,可以通过OC的“分类”机制,把类代码按逻辑划入几个分区中,这对开发与调试都有好处。下面通过个人信息这个类举例说明:如果

2025-02-26 15:01:22 1072

原创 【iOS】小蓝书学习(二)

所以在我们使用的时候,尽量不要直接访问实例变量,而是通过存取方法来做,虽然属性最终还是得通过实例变量来实现,但是它却提供了一种简洁的抽象机制。

2025-02-26 15:01:16 1091

原创 【iOS】小蓝书学习(三)

在我们学习使用OC构建应用程序时,经常会用到别人所写的代码,也可以将自己的代码开源出来供别人使用,这需要用到OC中常见的编程范式,也需要了解各种可能碰到的陷阱。本章的学习主要就是了解这些内容。

2025-01-23 14:36:17 1061

原创 【iOS】小蓝书第一章学习

我们要注意,在使用字面量语法时,数组中元素不能为nil,否则会抛出异常,这是由于字面量语法实际上是一种“语法糖“,本质上来说,就是先创建一个数组,再把方括号中所有对象添加到这个数组中来。当我们在编写代码时,将某一个时间提取为常量,如果使用#define来替换的话,在所有引入该头文件的文件中,都会被替换成这个时间,这样反而破坏了程序。如果后面在添加一种状态,编译器会报警告,提示新加入的状态并没有在swtich语句中处理,如果加入default分支,就不会报这个警告,,它就会处理这个分支。

2024-12-16 10:13:11 1147 1

原创 【iOS】UICollectionView

UIColectionView初学习

2024-12-01 15:51:07 835

原创 【iOS】知乎日报总结

知乎日报后面内容的一个总结。

2024-11-24 20:06:10 1070

原创 【iOS】知乎日报前三周总结

知乎日报前期总结

2024-11-10 20:35:20 1034

原创 【iOS】YYModel初学习

YYModel初学习,还有不足,后期再改善

2024-10-27 22:22:51 681 1

原创 【iOS】AFNetworing初步学习

初步学习AFNetworking

2024-10-20 21:25:47 625

原创 【iOS】计算器仿写

iPhone计算器仿写,

2024-10-08 11:26:58 930

原创 【iOS】KVC

KVC全称,中文名称为键码编值,可以通过一个key来访问某一个属性。

2024-09-19 21:54:24 1437

原创 【iOS】引用计数

我们可以用一个房间内开关灯来说明引用计数这个问题,当房间内进入第一个人时开灯,最后一个人离开时关灯,在这个过程中,需要照明的人数就是引用数。方法就可以实现,令对象在超出指定的生存范围时能够自动并正确的释放掉,在我们上文中举例的array就是通过调用。除了上述方法以外的方法生成的对象,因为不是自己生成并持有,所以自己不是该对象的持有者。我们在使用alloc等方法或者retain方法将持有者变成自己时,需要在不需要时释放该对象,但是。自己持有的对象,一旦不再需要时,持有者有义务释放该对象,使用。

2024-09-19 00:54:13 1505

原创 【iOS】dismiss多级的方法

dismiss多级方法

2024-09-15 19:45:00 971

原创 【iOS】ViewController的生命周期

ViewController生命周期

2024-09-15 00:23:55 568

原创 【iOS】单例模式

在前期学习OC初期时曾经简单了解过单例模式,今天通过这篇博客总结近期学习的单例模式。单例模式是一种常见的设计模式,使用单例模式创建的类在当前的进程中只可以有一个实例,可以防止一个实例被反复创建而占用内存空间。在开发过程中有许多用到的单例,例如UIApplication,一个UIApplication对象就代表着一个应用程序,每个应用程序有且仅有一个UIApplication对象。懒汉模式饿汉模式优点懒汉模式在第一次使用时才会被创建,这样可以节约资源,通过加锁的方法可以确保多线程的安全性。

2024-09-12 23:49:15 718

原创 【iOS】属性关键字

浅学属性关键字

2024-09-08 16:24:39 1007

原创 【iOS】MVC模式

点击view,视图响应事件,而后通过代理传递事件到Controller,发起网络请求更新model,model处理完数据,代理或通知给Controller,改变视图样式,完成操作。MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。在这个图中,我们可以看出,Model层和View层之间并不会进行直接通信,他们之间是依靠Controller进行通信的。MVC模式降低了各个环节耦合性,优化了Controller中的代码量。

2024-09-08 14:30:18 1129

原创 【iOS】折叠cell

暑假在仿写3G share时使用到了折叠cell,故而现在来总结一下折叠cell,如有不足,还望指正。

2024-09-03 23:37:07 986 1

原创 【iOS】暑期学习总结

暑假小结

2024-09-03 21:45:04 1316

原创 【iOS】Masonry学习

Masonry是一个轻量级的布局框架。通过链式调用的方式来描述布局,是排版代码更加简洁易读。masonry支持iOS和Mac OS X。相比原生的NSLayoutConstraint,提高了使用容易度和代码的可阅读程度。

2024-08-27 15:41:32 1432

原创 【iOS】多界面传值

多界面传值,助你轻松互联

2024-08-03 16:17:59 968 1

原创 【iOS】APP仿写——天气预报

天气预报仿写,暑假最后一练

2024-08-03 16:16:29 1490 1

原创 【iOS】APP仿写——学生管理系统

学生管理系统

2024-07-27 16:27:40 549

原创 【iOS】APP仿写——3G share仿写

3G share仿写

2024-07-27 10:24:52 1081

原创 【iOS】APP仿写——网易云音乐

app仿写第二篇

2024-07-20 17:06:19 1801 1

原创 【iOS】APP仿写——ZARA

APP仿写第一个,初步尝试

2024-07-20 15:19:36 787 1

原创 【iOS】自定义cell及其复用机制

自定义cell学习

2024-06-16 17:25:57 1616

原创 【iOS】UI学习——界面切换

【代码】【iOS】UI学习——界面切换。

2024-06-12 19:48:04 923

原创 【iOS】UI学习——登陆界面案例、照片墙案例

UI学习部分内容的练习

2024-06-10 04:39:47 1001

原创 【iOS】UI学习——UITableView

UITableView知识点

2024-06-05 21:42:06 1280 1

原创 【iOS】UI学习——导航控制器、分栏控制器

分栏控制器下面的导航栏最多显示5个按钮,超过5个按钮,系统会自动将最后一个按钮替换成more,当点击more时,才可以看到其他的按钮,点开后,右上角有一个Edit按钮,点击可以看到所有的按钮,也可拖动改变前四个按钮展现的是什么视图。导航控制器负责控制导航栏(navigationBar),导航栏上的按钮叫UINavigationItem(导航元素项)。分栏控制器在同一界面最多显示5个控制器切换按钮,超过5个时会自动创建一个新的导航控制器来管理其余的控制器。:分栏控制器选中的控制器对象。:分栏控制器管理数组。

2024-06-03 20:57:32 1407 1

原创 【iOS】UI学习(二)

UI学习第二篇

2024-05-31 15:16:05 1812

原创 【OC】深浅拷贝

浅拷贝:指创建一个新对象,但新对象仍然引用原对象的内部数据。这种拷贝方式对于性能和内存管理很有优势,但需要注意一些潜在的风险。深拷贝:指创建一个新对象,并将原对象的所有属性和子对象都复制到新对象中,形成一个完全独立的拷贝。下面借助之前看到的两张图片来帮助理解深拷贝浅拷贝。

2024-05-27 10:13:36 863

原创 【iOS】UI学习(一)

UI学习第一篇

2024-05-26 14:54:14 1543

空空如也

空空如也

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

TA关注的人

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