<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[y2015的博客]]></title><description><![CDATA[༺ ۣۖ ۣۖ 提༒高 ۣۖ ۣۖ ༻]]></description><link>https://blog.youkuaiyun.com/yang2868648</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yang2868648]]></copyright><item><title><![CDATA[swift访问级别权限]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/127734313</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/127734313</guid><author>yang2868648</author><pubDate>Mon, 07 Nov 2022 16:44:18 +0800</pubDate><description><![CDATA[无]]></description><category></category></item><item><title><![CDATA[两个大数相乘]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/113773101</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/113773101</guid><author>yang2868648</author><pubDate>Tue, 09 Feb 2021 17:13:46 +0800</pubDate><description><![CDATA[文章目录一、 统一处理进位二、 实时处理进位
一、 统一处理进位
-(NSString*)bidnumbstring:(NSString*)muti1 multibyaBignumString:(NSString*)muti2{
    if (muti1.length==0 || muti2.length==0) {
        return @"0";
    }
    
    NSInteger capcity = muti1.length + muti2.length;
    NSMuta]]></description><category></category></item><item><title><![CDATA[内存对齐(字节对齐)两三事]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/112614298</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/112614298</guid><author>yang2868648</author><pubDate>Mon, 18 Jan 2021 18:11:58 +0800</pubDate><description><![CDATA[目录什么是内存对齐为什么要内存对齐怎么内存对齐示例字节对齐算法ios获取内存大小sizeofclass_getInstanceSizemalloc_size
什么是内存对齐
先看下面这个结构体
struct Test{
    int a;
    char b;
};

如果没有内存对齐，在64位机器上(以后不作说明,均是64位)字节内存大小应是: 4 + 1 = 5
而实际使用sizeof(struct Test)输出却得到的是8
为什么要内存对齐
1）平台原因（移植原因）：不是所有的硬件平台都能访问任]]></description><category></category></item><item><title><![CDATA[乘除模运算转换为位运算]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/112525149</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/112525149</guid><author>yang2868648</author><pubDate>Tue, 12 Jan 2021 14:51:27 +0800</pubDate><description><![CDATA[alloc流程乘法运算除法运算模运算

一个数乘以2等价于该数左移一位
一个数除以2等价于该数右移一位

乘法运算
如果a * b, 且a = 2^n, 则
a * b 可以转换为  (b &lt;&lt; n)
    int a = 8 * 20;
    int b = (20 &lt;&lt; 3);
    NSLog(@"%d ---- %d", a, b);
	打印结果：160 ---- 160

除法运算
    int a = 120 / 8;
    int b = 120 &gt;&g]]></description><category></category></item><item><title><![CDATA[#pragma clang的使用]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/111665800</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/111665800</guid><author>yang2868648</author><pubDate>Fri, 25 Dec 2020 14:15:09 +0800</pubDate><description><![CDATA[文章目录-Wdeprecated-declarations 去除方法弃用告警-Wincompatible-pointer-types 不兼容指针类型-Warc-retain-cycles 循环引用-Wunused-variable 未使用变量-Wcovered-switch-default 未使用default
-Wdeprecated-declarations 去除方法弃用告警
#pragma clang diagnostic push   
#pragma clang diagnostic ignore]]></description><category></category></item><item><title><![CDATA[Xcode run script]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/111561167</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/111561167</guid><author>yang2868648</author><pubDate>Tue, 22 Dec 2020 16:51:30 +0800</pubDate><description><![CDATA[文章目录直接在target使用单开一个新的target脚本是否可以正常运行判断
直接在target使用
每次编译都会运行该脚本

单开一个新的target
需要使用脚本的时候选择该新的target编译


脚本是否可以正常运行判断
执行编译命令，快捷键command + B

有输出打印文字则说明配置正确了

...]]></description><category></category></item><item><title><![CDATA[swfit源码编译]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/111474957</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/111474957</guid><author>yang2868648</author><pubDate>Mon, 21 Dec 2020 15:49:12 +0800</pubDate><description><![CDATA[编译环境

mac 10.15.4
Xcode： 11.6
python： 2.7  3.7均有
ninja：brew install ninja
CMake：brew install CMake

编译步骤：(如前两步未成功,可直接跳转第三步)
1. clone swift源码
git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git

2. update-checkout(这步clone编译swift相关的库，非常]]></description><category></category></item><item><title><![CDATA[iOS 中内存分配与分区及为什么要区分堆栈]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/110137464</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/110137464</guid><author>yang2868648</author><pubDate>Fri, 27 Nov 2020 13:26:21 +0800</pubDate><description><![CDATA[关于RAM ROM
关于RAM ROM RAM与ROM就是具体的存储空间，统称为存储器

RAM(random access memory)：运行内存，CPU可以直接访问，读写速度非常快，但是不能掉电存储。它又分为：

动态DRAM，速度慢一点，需要定期的刷新(充电),我们常说的内存条就是指它，价格会稍低一点，手机中的运行内存也是指它
静态SRAM，速度快，我们常说的一级缓存，二级缓存就是指它，当然价格高一点。


ROM(read only memory)：存储性内存，可以掉电存储，例如SD卡、Flash]]></description><category></category></item><item><title><![CDATA[底层原理探索(一) - alloc流程]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/108447167</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/108447167</guid><author>yang2868648</author><pubDate>Mon, 07 Sep 2020 17:30:44 +0800</pubDate><description><![CDATA[alloc流程探索方式alloc方法调用流程源码(objc-781源码)alloc_objc_rootAlloccallAlloc_objc_rootAllocWithZone_class_createInstanceFromZone（核心）
探索方式

接入objc源码库直接调试
Control+Step into
符号断点
菜单栏Debug-&gt;Debug Workflow-&gt;Always Show Disassembly（始终显示汇编代码）

alloc方法调用流程
alloc   -  _]]></description><category></category></item><item><title><![CDATA[android事件传递机制]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/108270131</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/108270131</guid><author>yang2868648</author><pubDate>Thu, 27 Aug 2020 22:59:23 +0800</pubDate><description><![CDATA[事件传递顺序
Activity--&gt; Window--&gt;DecorView --&gt; 布局View


或者说以上顺序是事件在应用层的传递顺序。如果要说整个事件的传递机制，是Android底层收到触摸屏的事件后，使用socket跨进程通信，用InputDispatcher将事件发送给APP进程，由主线程的Looper去取出消息进行处理。
本文主要分析Android应用层的一个传递过程
事件的传递规则
一个点击事件，或者说触摸事件，被封装为了一个MotionEvent。事件的分发主要由三个重要]]></description><category></category></item><item><title><![CDATA[Runtime是什么]]></title><link>https://blog.youkuaiyun.com/yang2868648/article/details/108269427</link><guid>https://blog.youkuaiyun.com/yang2868648/article/details/108269427</guid><author>yang2868648</author><pubDate>Thu, 27 Aug 2020 21:52:32 +0800</pubDate><description><![CDATA[runtimejava和oc 都有运行时吗
java和oc 都有运行时吗
iOS系统采用的就是Runtime机制。对于C语言，函数的调用在编译的时候会决定调用哪个函数。对于OC函数来说，在编译的时候并不能决定真正调用哪个函数，只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。
运行：Objective-C runtime 运行 native code 。Java VM 运行 byte code。垃圾回收：Objective-C runtime 有过短暂的使用 conservative GC。但是 ]]></description><category></category></item></channel></rss>