Charles' Blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

如何打包一个依赖第三方framework(如支付宝的framework)的静态framework

发表于 2018-12-01 | 分类于 iOS
字数统计: 658 | 阅读时长 ≈ 2
这篇文章我们主要来探讨一下,如何让一个静态framework 依赖其他的静态framework,本文以活体检测的framework为例来一步步说明是如何实现的。 如何打包一个依赖AFNetworking的静态framework 至于如何打包一个静态库的问题,请查看本人上一篇文章: 这篇文章我们基于上 ...
阅读全文 »

iOS多线程之多读单写和常驻线程

发表于 2018-09-13
字数统计: 990 | 阅读时长 ≈ 4
熟悉多线程的朋友,应该都遇到过这样的应用场景: 多个线程去读写数据。那么试想一下如果一条线程正在读取数据的时候另外一条线程同时在写数据。这种场景是否会产生问题呢? 我们期望这样一个线程,可以被我们反复利用,那么这又是如何实现的呢? 接下来我们一一介绍 如何解决多个线程对同一块资源的读写问题呢 ...
阅读全文 »

Block底层实现之逆向思维

发表于 2018-08-21 | 分类于 iOS
字数统计: 790 | 阅读时长 ≈ 3
前段时间心血来潮,研究了一下block底层实现,在网上看了好多文章,基本都是通过clang 将代码转换为C++代码去分析Blcok的实现。今天我们反过来思考,用C去实现一个OC Block的效果。 Block的实现本质上是一些结构体,函数指针,函数,的综合运用。 话不多说,直奔主题: Block的实 ...
阅读全文 »

初探Category实现原理

发表于 2018-07-24
字数统计: 1,768 | 阅读时长 ≈ 8
Objective-C 分类的实现原理,阅读runtime源码会发现,分类在运行时的结构是这个样子的: 12345678910111213141516struct category_t { const char *name; // 分类名称 classref_t cls; ...
阅读全文 »

你真的明白isKindOfClass 和 isMemberOfClass 的区别么?

发表于 2018-07-23 | 分类于 iOS
字数统计: 652 | 阅读时长 ≈ 3
前几天看博客发现了一个关于 isKindOfClass 和 isMemberOfClass 的问题,但是感觉分析的不够透彻,所以我在这里试着分析一下,欢迎大家一起讨论。 内容是这样的 (如图1)。 图1上图中的四个Bool 分别是什么?我在这里先爆出答案:上面是个Bool 分别是:1 ,0,0, ...
阅读全文 »

Objective-C中的类和元类

发表于 2018-07-23 | 分类于 iOS
字数统计: 1,776 | 阅读时长 ≈ 6
你真的知道OC的类(Class)是个什么玩意儿? 众所周知,所有的对象都是由其对应的类实例化而来,但是类本身其实也是一种对象,surprise?下面我们就来拨开这层迷雾。 类在Objective-C中,我们用到的几乎所有类都是NSObject类的子类,查阅objc源码你会发现 NSObject类定义 ...
阅读全文 »

手把手教你用 Intellij IDEA 创建一个简单的SpringBoot项目

发表于 2018-07-23 | 分类于 Java
字数统计: 158 | 阅读时长 ≈ 1
新建Project 默认选中 Default 点击下图的Next 按钮 填写Group、Artifact Package 那一栏和Group 保持一致就好,如果是com.jack.springtest的话会导致 WhiteLabel Error Page 异常 选中Web 选项 然后点击Next ...
阅读全文 »

Mac终端装逼利器 zsh

发表于 2018-07-21 | 分类于 技术人生
字数统计: 464 | 阅读时长 ≈ 2
我在使用mac终端执行各种命令的时候,始终感觉不是很方便,比如在开发过程中执行git 命令的时候不清楚当前是是什么分支,得反复的git branch 查看;输入文件夹名称时候还要区分大小写,tab 键才能联想。。。为了解决这个问题,我一番google,原来有这么好用的工具 — zsh 下面我们来介绍 ...
阅读全文 »

Mac OS X - 重置 MySQL Root 密码

发表于 2018-07-21 | 分类于 MySql
字数统计: 306 | 阅读时长 ≈ 1
一:您是否忘记了Mac OS 的MySQL的root密码? 通过以下4步就可重新设置新密码:1. 停止 mysql server. 通常是在 ‘系统偏好设置’ > MySQL > ‘Stop MySQL Server’2. 打开终端,输入:1$ sudo /usr/local/my ...
阅读全文 »

hexo快速搭建个人博客

发表于 2018-07-21 | 分类于 技术人生
字数统计: 680 | 阅读时长 ≈ 3
Hexo 是高效的静态网站生成框架,它基于Node.js,通过编辑markdown文件来生成对应的html页面。 准备工作首先安装node.js、安装Git、注册一个github账号。 开始搭建博客开启github pages服务在GitHub上面新建一个仓库如:username.github.io ...
阅读全文 »
123
Charles

Charles

30 日志
7 分类
16 标签
GitHub
© 2022 Charles
全站共36.1k字
载入天数...载入时分秒...
本站访客数人 | 本站总访问量次 | 本文阅读量次