<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[诠释完美]]></title><description><![CDATA[见贤思齐焉，见不贤而内自省也。]]></description><link>https://blog.youkuaiyun.com/SSIrreplaceable</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SSIrreplaceable]]></copyright><item><title><![CDATA[ArkTS学习笔记_UI界面的状态管理简述]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140460499</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140460499</guid><author>SSIrreplaceable</author><pubDate>Tue, 16 Jul 2024 10:54:49 +0800</pubDate><description><![CDATA[被状态装饰器装饰的变量，状态变量值的改变会引起UI的渲染更新。没有被状态装饰器装饰的变量，通常应用于辅助计算。它的改变永远不会引起UI的刷新。@Component// 状态变量// 常规变量build() {]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_自定义组件的多态样式]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140425236</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140425236</guid><author>SSIrreplaceable</author><pubDate>Sun, 14 Jul 2024 23:10:39 +0800</pubDate><description><![CDATA[ArkTS学习笔记_自定义组件的多态样式。]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_封装复用之@Extend装饰器]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140424774</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140424774</guid><author>SSIrreplaceable</author><pubDate>Sun, 14 Jul 2024 22:37:52 +0800</pubDate><description><![CDATA[/ @Extend(Text)可以支持Text的私有属性fontColor// superFancyText可以调用预定义的fancy.fancy()]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_封装复用之@Styles装饰器]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140423271</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140423271</guid><author>SSIrreplaceable</author><pubDate>Sun, 14 Jul 2024 21:15:27 +0800</pubDate><description><![CDATA[【代码】ArkTS学习笔记_封装复用之@Styles装饰器。]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_封装复用之@builderParam装饰器]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140422692</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140422692</guid><author>SSIrreplaceable</author><pubDate>Sun, 14 Jul 2024 20:45:02 +0800</pubDate><description><![CDATA[【代码】ArkTS学习笔记_封装复用之@builderParam装饰器。]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_封装复用之@builder装饰器]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140402831</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140402831</guid><author>SSIrreplaceable</author><pubDate>Sat, 13 Jul 2024 17:04:14 +0800</pubDate><description><![CDATA[/ 语法格式// 使用方法全局的自定义构建函数是在自定义组件外面定义的。全局的自定义构建函数可以被整个应用获取，不允许使用this和bind方法。如果不涉及组件状态变化，建议使用全局的自定义构建方法。]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_页面和自定义组件生命周期]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140396039</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140396039</guid><author>SSIrreplaceable</author><pubDate>Sat, 13 Jul 2024 10:37:28 +0800</pubDate><description><![CDATA[自定义组件，即@Component装饰的UI单元，可以组合多个系统组件实现UI的复用，可以调用组件的生命周期。自定义组件的创建：自定义组件的实例由ArkUI框架创建。初始化自定义组件的成员变量：通过本地默认值或者构造方法传递参数来初始化自定义组件的成员变量，初始化顺序为成员变量的定义顺序。如果开发者定义了aboutToAppear，则执行aboutToAppear方法。在首次渲染的时候，执行build方法渲染系统组件，如果子组件为自定义组件，则创建自定义组件的实例。]]></description><category></category></item><item><title><![CDATA[ArkTS学习笔记_自定义组件]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140388315</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140388315</guid><author>SSIrreplaceable</author><pubDate>Fri, 12 Jul 2024 20:49:28 +0800</pubDate><description><![CDATA[struct + 自定义组件名 + {...}@Entry@Component// 组件的状态// 组件的UI构造方法build() {Row() {Column() {自定义组件不能有继承关系。对于struct的实例化，可以省略new。struct被@Component装饰后具备组件化的能力，需要实现build()方法描述UI。@Entry可以接受一个可选的LocalStorage的参数。自定义组件通过“.”链式调用的形式设置通用样式。]]></description><category></category></item><item><title><![CDATA[TypeScript学习笔记]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140386444</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/140386444</guid><author>SSIrreplaceable</author><pubDate>Fri, 12 Jul 2024 18:39:26 +0800</pubDate><description><![CDATA[用于初始化变量为一个未定义的值。当不知道要向函数传入多少个参数，这时候可以使用剩余参数来定义。函数的参数不能同时存在可选参数和剩余参数。// 语句// param 为参数名，使用 ... 为前缀，表示为剩余参数。// datatype 为参数类型。// 类作用域。]]></description><category></category></item><item><title><![CDATA[iOS网络底层实现]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72904510</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72904510</guid><author>SSIrreplaceable</author><pubDate>Wed, 07 Jun 2017 22:11:51 +0800</pubDate><description><![CDATA[在iOS上，有一个库叫做Core Foundation networking或CFNetwork,它是对原始Socket的轻量级封装，不过它很快对于大多数常见场景来说变得非常笨重了。最后，添加了另一层（NSStream）来封装CFNetwork,并且作为最基础的Objective-C网络API。大家更熟悉的类（比如NSURLConnection与UIWebView）都是非常易于使用的，而且能够通过很]]></description><category></category></item><item><title><![CDATA[非ARC开发的内存管理]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72901319</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72901319</guid><author>SSIrreplaceable</author><pubDate>Wed, 07 Jun 2017 20:02:34 +0800</pubDate><description><![CDATA[一. 内存管理原则
retain和release配对使用；
只要出现retain、alloc、copy中的其中一个，就要用一次release；
只要retainCount为0，系统会自动调用dealloc
@property中使用的关键字
  readwrite：属性会被当成读写的，默认 
  readonly：属性只可读不可写 
  assign：不会使引用计数加1，常用于数值 
  retain]]></description><category></category></item><item><title><![CDATA[使用Charles 4.1.1 抓取iPhone上的数据接口]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72788518</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72788518</guid><author>SSIrreplaceable</author><pubDate>Sun, 28 May 2017 05:14:19 +0800</pubDate><description><![CDATA[说明： 
  1. 本人电脑是黑苹果，系统是OS X EI Capitan，版本10.11.5 
  2. Charles版本是4.1.1
一. 实现步骤
下载和安装Charles
下载和安装电脑的Charles证书，并设置为始终信任，默认是不信任
从Charles上获取需要在iPhone上安装的 证书网址
在iPhone上下载和安装证书，最关键一步是要对证书进行 信任 设置
在Charles上进行]]></description><category></category></item><item><title><![CDATA[使用Xcode的pod插件加载第三方框架不成功]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72773520</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72773520</guid><author>SSIrreplaceable</author><pubDate>Fri, 26 May 2017 20:57:42 +0800</pubDate><description><![CDATA[前提：已经成功安装pods
我的MAC系统：ruby的版本：ruby的软件源:pod的版本:使用终端查看第三方框架信息一直卡住，但是可以用终端创建项目的pod，网上的各种办法用遍，都不成功，不知道为啥(有知道答案的请分享)，下面是卡住的界面：XCode中得pod插件，编写Podfile文件，默认提示格式：如果是用下面的方式写，当Install Pods会出错，如下：source 'https://g]]></description><category></category></item><item><title><![CDATA[在xib或storyboard中textView或label的换行]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72765316</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72765316</guid><author>SSIrreplaceable</author><pubDate>Fri, 26 May 2017 12:07:04 +0800</pubDate><description><![CDATA[在xib或storyboard中textView或label的换行方法： 
在需要换行的位置：按下option键然后敲回车就可以换行，想换几行就敲几个回车。如图：]]></description><category></category></item><item><title><![CDATA[GIT-删除远程服务端的文件]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72763646</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/72763646</guid><author>SSIrreplaceable</author><pubDate>Fri, 26 May 2017 09:54:57 +0800</pubDate><description><![CDATA[1. 在本地仓库A执行以下命令：$ sudo rm test
$ git add .
$ git commit -m "delete test"
$ git push 2. 检查服务器是否还有test.text文件，检测结果是没有的$ git pull注意：在A仓库pull后确实没有了test.text文件，但是在B仓库pull还有test.text文件解释： 
git add     只会将新建的]]></description><category></category></item><item><title><![CDATA[关于RunLoop部分源码的注释]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53793456</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53793456</guid><author>SSIrreplaceable</author><pubDate>Wed, 21 Dec 2016 23:17:55 +0800</pubDate><description><![CDATA[RunLoop源代码是开发的，是Core Fundation框架的一部分，可以在线查看和或者下载。本篇博文是对RunLoop部分源码进行注释，因本人知识有限，如有注释不妥的地方请指教。
#if DEPLOYMENT_TARGET_WINDOWS// kNilPthreadT 为空的线程
static pthread_t kNilPthreadT = { nil, nil };
#define pth]]></description><category></category></item><item><title><![CDATA[RunLoop的学习总结]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53769740</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53769740</guid><author>SSIrreplaceable</author><pubDate>Wed, 21 Dec 2016 23:13:13 +0800</pubDate><description><![CDATA[一. RunLoop相关概念1. 什么是RunLoopRunLoop与线程相关且是基础框架的一部分。一个RunLoop就代表一个事件处理循环，它可以不停的调度工作以及处理输入事件。使用RunLoop的目的是有效的控制线程的执行和休眠，让线程在有工作的时候忙于工作，而在没工作的时候处于休眠状态。如果不使用RunLoop类似的循环机制，线程执行完当前任务队列中的任务就结束了，程序不能持续运行。也可以把R]]></description><category></category></item><item><title><![CDATA[有用的框架]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53665819</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53665819</guid><author>SSIrreplaceable</author><pubDate>Thu, 15 Dec 2016 09:53:39 +0800</pubDate><description><![CDATA[库名
  解释  Metal
  是一种低层次的渲染应用程序编程接口,iOS 8时发布
  Scene Kit
  3D游戏,iOS 8时发布
  Sprite Kit
  2D游戏,iOS 7时发布
  OpenGL
  跨平台三维图形库
  OpenCL
  异构平台编写程序的框架,可通过GPU并行计算
  OpenAL
  跨平台音效API,它设计给多通道三维位置音效的特效表现
  OpenC]]></description><category></category></item><item><title><![CDATA[OC对象与CF对象的相互转换 和 ARC下查看OC对象的引用计数]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53522821</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53522821</guid><author>SSIrreplaceable</author><pubDate>Thu, 08 Dec 2016 19:01:11 +0800</pubDate><description><![CDATA[注意：文中的OC对象指Objective-C对象，CF对象指Core Foundation中的对象
  转换方法： 
  (__bridge type)expression 
  (__bridge_retained CF type)expression 
  (__bridge_transfer Objective-C type)expression]]></description><category></category></item><item><title><![CDATA[Objective-C 类型编码]]></title><link>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53376915</link><guid>https://blog.youkuaiyun.com/SSIrreplaceable/article/details/53376915</guid><author>SSIrreplaceable</author><pubDate>Mon, 28 Nov 2016 14:40:15 +0800</pubDate><description><![CDATA[在开发的时候我们会遇到后跟 ObjCType:(const char *)types 的方法。
  
  
    如： 
     + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type; 
    + (nullable NSMethodSignature *)signatureWithObjCTy]]></description><category></category></item></channel></rss>