<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FY_Fish的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yuwuchaio</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yuwuchaio]]></copyright><item><title><![CDATA[阿里无影云畅玩《黑神话悟空》—— 直面天命]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/141561711</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/141561711</guid><author>yuwuchaio</author><pubDate>Mon, 26 Aug 2024 14:00:35 +0800</pubDate><description><![CDATA[黑神话：悟空》作为一款备受期待的国产动作角色扮演游戏，以其出色的画质和独特的玩法吸引了大量玩家。然而，面对游戏对硬件的高要求，很多玩家可能担心自己的设备能否流畅运行这款大作。幸运的是，阿里云无影云电脑提供了一种高效的解决方案，让你可以在任何设备上畅玩《黑神话：悟空》。本文将为你介绍如何使用阿里云无影云电脑，轻松实现流畅游戏体验。购买套餐后，打开客户端，在配置云电脑是使用预装系统时输入上面对应的镜像后，等待安装完成。等待电脑启动后，这里以steam为例，打开Steam登陆游戏账号，直接开冲。]]></description><category></category></item><item><title><![CDATA[外卖红包领取小程序快速开发]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/110874341</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/110874341</guid><author>yuwuchaio</author><pubDate>Wed, 30 Dec 2020 15:45:52 +0800</pubDate><description><![CDATA[对于经常点外卖的小伙伴来说，红包绝不可少，之前点外卖的时候用到过一个小程序可以直接领取红包。仔细研究发现原来是通过跳转到官方的小程序的CPS活动的一种。
瞬间想到我也可以搞个小程序，薅自己的羊毛。领到的红包如果合适的话还能省一笔钱。作为一个拿来主义的程序员，直接到gayhub上面看看有没有现成的源码。果然发现gayhub上已经有很多成熟的方案啦。

https://github.com/zwpro/coupons
https://github.com/leixiaokou/waimai-cps

自己参照源]]></description><category></category></item><item><title><![CDATA[NSObject对象占用多少内存]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/108224507</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/108224507</guid><author>yuwuchaio</author><pubDate>Tue, 25 Aug 2020 16:49:01 +0800</pubDate><description><![CDATA[标题为啥是8个字节？为啥是16字节？注意

题目：一个NSObject对象占用多少内存?

首先回答题目：


系统分配了16个字节给 NSObject 对象（通过 malloc_size 函数获得）


但NSObject对象内部只使用了8个字节的空间（64bit环境下，可以通过class_getInstanceSize函数获得）。


为啥是8个字节？
接下来我们通过 clang 将代码转换成 C/C++ 代码 结合 「runtime 的源码」 一探究竟。
NSObject *obj = [[NSObj]]></description><category></category></item><item><title><![CDATA[raywenderlich.com官方Swift代码规范指南]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/100737628</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/100737628</guid><author>yuwuchaio</author><pubDate>Wed, 11 Sep 2019 15:26:55 +0800</pubDate><description><![CDATA[[TODO]
本文翻译于The Official raywenderlich.com Swift Style Guide。目前更新到 Swfit4.2。

前言：作为一名开发人员，须知好的代码规范，不仅能够提升代码的可读性、提升开发效率同时也会对让团队间的开发沟通效果得到加强。针对Swift语言raywenderlich.com给出来一份较为完善的开发指南。本文就是基于原文翻译而成。英文水平较好这...]]></description><category></category></item><item><title><![CDATA[记一次组件化的实践过程]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/93866866</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/93866866</guid><author>yuwuchaio</author><pubDate>Thu, 27 Jun 2019 12:46:44 +0800</pubDate><description><![CDATA[起源
截至目前组件化在 iOS 也已经有了几年的讨论和应用了，笔者从去年开始公司项目也开始慢慢有意识的往组件化靠拢。因不可能组件化而停止业务的开发所以前期准备是在业务开发的同时有意识的封装和抽取整理一些独立于业务的类等。在接下来的几篇文章会大家分享笔者在组件化过程中的想法和遇到的问题，欢迎大家留言讨论。
0x0 前期准备
当你想要进行组件化开发的时候，第一步是考虑将公司的项目进行一个大的拆解，了解...]]></description><category></category></item><item><title><![CDATA[记一次iOS启动时间优化]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/87883011</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/87883011</guid><author>yuwuchaio</author><pubDate>Fri, 22 Feb 2019 17:41:17 +0800</pubDate><description><![CDATA[启动时间
启动时间是这里指从用户点击 APP 那一刻开始到用户看到第一个界面这中间的时间。以程序的入口main函数为分界点，我们将启动时间分为 pre-main 时间（t1）和 main 函数到第一个界面渲染完成时间(t2)这两个部分。
t1时间:是指main函数执行之前，系统加载可执行文件（.o文件集合），然后加载动态链接库dylb（dyld是一个专门用来加载动态链接库的库)，dyld从可执行文...]]></description><category></category></item><item><title><![CDATA[ipa的大小压缩优化]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/87792277</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/87792277</guid><author>yuwuchaio</author><pubDate>Wed, 20 Feb 2019 13:43:50 +0800</pubDate><description><![CDATA[ipa的大小压缩优化
一个安装包分为二进制代码文件，资源，配置文件。ipa大小优化主要从资源、二进制文件入手。
资源类优化
图片
JPG图片压缩比是最小的，图片去除未使用的图片，最能减少ipa包的大小。JPG格式的图片可使用ImageOption进行无损压缩，降低图片的大小。PNG的XCode的配置CompressPNGFile为YES。同时也可使用ImageOption进行无损压缩。
文件资源
...]]></description><category></category></item><item><title><![CDATA[FYTextFieldRestricter——UITextField限制输入]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/82629659</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/82629659</guid><author>yuwuchaio</author><pubDate>Tue, 11 Sep 2018 17:41:51 +0800</pubDate><description><![CDATA[首先给出：本文DemoGithub地址。

开发中经常性的和UITextField打交道，常会碰见对输入的限制，作者总结平时碰到过的场景。由此才有这个Demo诞生。 
FYTextFieldRestricter通过对UITextField的扩展，提供了包含了输入长度的限制、字母、汉字、数字。UITextField限制输入实现主要是通过target-action监听 
UITextField的UIC...]]></description><category></category></item><item><title><![CDATA[目前iOS与JS交互的方法选择比对]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/81610626</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/81610626</guid><author>yuwuchaio</author><pubDate>Sun, 12 Aug 2018 21:05:46 +0800</pubDate><description><![CDATA[只是针对目前存在的交互方式做个比对。不会涉及任何实现。如需知道具体的使用。可自行`baidu`或者`Google`。


拦截协议

拦截协议是最简单的交互方式，在Android端和iOS端直接拦截，可以统一web前端的代码。web前端通过在链接中带上参数。比如: 
88gongxiang://loginFunc&amp;amp;amp;name=xxx&amp;amp;amp;pwd=123456。通过拦截url的scheme...]]></description><category></category></item><item><title><![CDATA[WKWebView 入坑指南]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/81389774</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/81389774</guid><author>yuwuchaio</author><pubDate>Fri, 03 Aug 2018 16:55:02 +0800</pubDate><description><![CDATA[WKWebView 入坑指南

因项目JS交互需要，同时因为支持的系统开始从iOS 8 之后，所以就打算使用WKWebView替换掉项目中的UIWebView。本篇文章会在使用中持续更新。


坑一：在使用测试环境时，因为有时后台返回url并不规范，url不包含scheme时如果调用[self.webView loadRequest:request],app就会直接闪退，直接提示exc bad a...]]></description><category></category></item><item><title><![CDATA[runtime面试指北——基本数据结构]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/80860965</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/80860965</guid><author>yuwuchaio</author><pubDate>Fri, 29 Jun 2018 19:12:41 +0800</pubDate><description><![CDATA[引言

Objective-C是一门动态语言，在OC中方法的调用在编译期时并不能真正决定调用的是哪个方法。只有在真正运行时才会根据方法的名称找到对应的函数调用。也就是说只有编译器是不够的，还需要一个运行时系统 (runtime library) 来执行编译后的代码。而Objective-C语言的动态特性正是基于runtime。

&amp;amp;gt; 
runtime官方指南 
&amp;amp;gt; 
runtime A...]]></description><category></category></item><item><title><![CDATA[iOS面试题库——KVC与KVO]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/80701681</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/80701681</guid><author>yuwuchaio</author><pubDate>Fri, 15 Jun 2018 10:13:45 +0800</pubDate><description><![CDATA[KVC与KVO

本文将会详解在面试中的常客——KVO实现的原理，在了解KVO之前我们要对KVC进行一个全面的了解，毕竟连官方文档都提到过:


  important: In order to understand key-value observing, you must first understand key-value coding.




KVC

KVC全称：Key-value c...]]></description><category></category></item><item><title><![CDATA[Mac 环境下Ruby相关解释]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/80240949</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/80240949</guid><author>yuwuchaio</author><pubDate>Tue, 08 May 2018 15:51:57 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[iOS瘦身实践]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/80067637</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/80067637</guid><author>yuwuchaio</author><pubDate>Tue, 24 Apr 2018 17:22:45 +0800</pubDate><description><![CDATA[资源级的瘦身


使用LSUnusedResources删除无用图片。注意只是简单的删除。需要自己在此确认。
使用WebP代替PNG， 转换及压缩工具isparta。
WebP的优点： 
Webp 压缩率⾼，⽀持有损与⽆损压缩
WebP 体积⼤幅减少，⾁眼看不出差异 
缺点：Webp更加消耗性能，较PNG消耗2倍左右的CPU和解码时间




代码级的瘦身-linkmap

首先需要了解linkm...]]></description><category></category></item><item><title><![CDATA[关于Autolayout的调试]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/79153837</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/79153837</guid><author>yuwuchaio</author><pubDate>Wed, 24 Jan 2018 18:10:59 +0800</pubDate><description><![CDATA[关于Autolayout的调试

本文算是截取了Blog部分，主要是记录调试的方法，防止下次碰到同样问题而重新查找。

刚开始使用Autolayout遇到下面的警告人容易让人气馁。经常不知所措而放弃了使用Autolayout。



Unable to simultaneously satisfy constraints.
Probably at least one of the constrai]]></description><category></category></item><item><title><![CDATA[精度计算——NSDecimalNumber的使用和封装！]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/77528549</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/77528549</guid><author>yuwuchaio</author><pubDate>Thu, 24 Aug 2017 17:20:03 +0800</pubDate><description><![CDATA[title: NSDecimalNumber的介绍和使用！ 
date: 2016-11-07 15:51:56 
categories: 笔记 
tags:NSDecimalNumber、计算精度NSDecimalNumber的介绍和使用！前言
  在iOS的精度计算过程，只要你使用浮点型来进行运算不管如何都无法躲避精度缺失的可能性。而苹果对此也提供了更加精准的精度计算的类：NSDecimalNu]]></description><category></category></item><item><title><![CDATA[UICollectionView 设置section的背景色]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/76032880</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/76032880</guid><author>yuwuchaio</author><pubDate>Mon, 24 Jul 2017 17:10:49 +0800</pubDate><description><![CDATA[UICollectionView Section 背景色]]></description><category></category></item><item><title><![CDATA[环信ChatDemoHelper中didReceiveMessages无法接收消息！]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/70876048</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/70876048</guid><author>yuwuchaio</author><pubDate>Thu, 27 Apr 2017 19:04:08 +0800</pubDate><description><![CDATA[在集成环信的时候，碰到了模仿使用Demo中ChatDemoHelper管理消息回调时，didReceiveMessages没有被调用的坑！在网上没有找到解决的方法，最后仔细想想是自己把 helper的初始化放[ChatDemoHelper shareHelper];在了环信SDK初始化之前。所以根本没有调到过！


把helper的初始化延后！就解决了！！！！真真是坑自己啊~~~如果有相同问]]></description><category></category></item><item><title><![CDATA[NSDecimalNumber的介绍和使用！]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/53080645</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/53080645</guid><author>yuwuchaio</author><pubDate>Tue, 08 Nov 2016 11:34:06 +0800</pubDate><description><![CDATA[title: NSDecimalNumber的介绍和使用！ 
date: 2016-11-07 15:51:56 
categories: 笔记 
tags:NSDecimalNumber、计算精度NSDecimalNumber的介绍和使用！引用
  来源NSDecimalNumber是NSNumber的不可变子类。苹果针对浮点型计算时存在精度计算误差的问题而提供的一个计算类,它是基于10进制的定点]]></description><category></category></item><item><title><![CDATA[Xcode 8 过滤系统输出]]></title><link>https://blog.youkuaiyun.com/yuwuchaio/article/details/52572036</link><guid>https://blog.youkuaiyun.com/yuwuchaio/article/details/52572036</guid><author>yuwuchaio</author><pubDate>Sun, 18 Sep 2016 10:23:07 +0800</pubDate><description><![CDATA[Xcode顶部点击Product—>Scheme—>Edit Scheme—>Arguments—>Environment Variables中添加Name:“OS_ACTIVITY_MODE”.Value:"disable"]]></description><category></category></item></channel></rss>