随笔分类 - iOS开发
摘要:更新记录 时间 | 版本修改 | | | 2020年5月10日| 初稿 | 1. 前言 阅读本文需要先了解Block存储域的问题,即需要了解栈Block、堆Block、全局Block的三种分类。如 "Block存储域学习" 一言以蔽之, 字段是在栈Block复制到堆Block时,改变指向,从而指向真
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年5月9日| 初稿 | 2020年5月10日| 添加编译器不能自动将Block从栈复制到堆上的情况说明 | 1. 前言 本文主要参考了《Objective C高级编程 iOS与OS X多线程和内存管理》2.3.4节 Block存储域的内容,也可以直接
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年5月8日| 初稿 | 1. 前言 上篇文章 "《Block中修改局部变量的值为什么必须声明为__block类型》" 中,考虑到篇幅不宜过长,并没有给出探索Block捕获 局部变量的代码例子。本文准备较详细地探索Block捕获 局部变量的底层原理,也
阅读全文
摘要:《Objective C 高级编程》 1.2.3节 alloc/retain/release/dealloc 实现——学习总结 更新记录 时间 | 版本修改 | | | 2020年4月23日| 初版 | 2020年4月25日| 更正:苹果的实现方式并不是在NSObejct基类中用一个字段记录引用计数
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年4月22日| 初版 | UICollectionView简介 相信大家都用过,和生活中常见的表格,列表是一样的,所以非常好理解。 而 其实是 的超集(也就是说, 是 的子集),也就是说, 只是一种特殊的 是使用 的 布局方式,但是一行只有一个ite
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年4月19日| 初版 | 前言 iOS中许多app的主界面,都是由一个tabBar,控制着多个主界面的。比如微信中,主界面有4个TabBarItem,分别对应“聊天”,“通讯录”,“发现”,“我的”。 对于iOS的app,很大可能app的rootVi
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年4月19日| 初版 | 前言 在接触iOS工作之后,由于近期有一次公司的电脑重装系统,重新配置sourceTree之后。自己买了一部mac,再次配置sourceTree时发现,又忘了怎么搞的,具体要做什么步骤,因此在本文中记录下需要iOS开发环境需
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年4月12日| 初版 | Block引用C语言数组报错 报编译错误:error:cannot refer to declaration with an array type inside block 《Objective C 高级编程 iOS与OS
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年4月12日| 初稿 | 前言 目前看到,网上搜索到的Blocks的博客大致都是参考《Objective C 高级编程 iOS与OS X多线程和内存管理》这本经典书籍的。 本文也类似,会尽可能加入自己的总结和思考。 Blocks的实质 Objecti
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年4月12日| 初稿 | 2020年5月7日 | 纠正错误:其实在使用__block变量的时候,实际的源代码变得复杂更多。考虑到篇幅和结构问题,本文后续只采用了Block捕获静态局部变量的例子,来查看Block捕获静态局部变量的实现。 2020年5月
阅读全文
摘要:更新记录 时间 | 更新记录 | | | 2020年4月6日| 初稿 | 初始化对象 一般使用alloc分配内存,Objective C中的alloc方法将这片内存全部初始化为0 OC中的对象必须先初始化才能使用(调用OC中的init或者initwithxxx函数) 一般的对象需要分配内存和初始化后
阅读全文
摘要:更新记录 时间 | 更新记录 | | | 2020年4月6日| 初稿 | 前言 iOS的对象模型,在《Objective C基础教程》第2版 4.3 继承的工作机制中,用了一两页的篇幅来说明,而且很简单,易于理解。 而笔者特地写下这一篇文章,是因为这个知识点,是OC开发的基础。所谓基础不牢,地动山摇
阅读全文
摘要:更新记录 时间 | 版本修改 | | | 2020年3月29日| 初稿 | 前言 近日,由于重新安装了mac的操作系统,需要重新进行一次真机调试的开通。 再次开通真机调试,跑流程的时候,有一些环节仍然没有捋清楚(因为有一些环节,没区分好到底是申请人做,还是管理员做),于是又去请教头头。 由于头头上次
阅读全文
摘要:更新记录 2020年3月28日,初稿 源码地址 "CocoaPods/CocoaPods" Pod是由Ruby实现的,所以想要读懂源码,还需要先了解一下Ruby的源码 源码运行过程(含注释),即输入Pod install(或update)的执行过程 前置环节 生成对应的Command子类对象(例如I
阅读全文
摘要:更新记录 2020年3月28日,初稿 发生问题 大概在几天前,笔者在研究CocoaPods的源码,然后想要修改Ruby源码,做一点简单的实践。 编辑/usr/bin目录下的CocoaPods源码时,命令行提示,没有编辑权限 所以当时用了chmod 777的权限操作,但是当时脑子抽风,输入的是"/",
阅读全文
摘要:更新记录 2020年3月28日,初稿 文章背景 近日,接到头头突然让我改一个东西,让我马上把某个按钮的点击相应区域扩大一点。作为一个iOS三个月的新人,还真不了解要怎么做。随后,头头说只要加一行代码就行了,然后让某位前辈直接把参考代码发给我。 后来,我加了一行类似于如下的代码: 就使得按钮点击区域扩
阅读全文

浙公网安备 33010602011771号