<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[XLsn0w]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xlsn0w</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xlsn0w]]></copyright><item><title><![CDATA[shizuku免root电脑adb启动授权]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/146095910</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/146095910</guid><author>xlsn0w</author><pubDate>Fri, 07 Mar 2025 14:52:10 +0800</pubDate><description><![CDATA[Mac终端输入。]]></description><category></category></item><item><title><![CDATA[Flutter底层实现]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/146080504</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/146080504</guid><author>xlsn0w</author><pubDate>Thu, 06 Mar 2025 21:15:48 +0800</pubDate><description><![CDATA[Embedder 是 Flutter 的核心部分，它是一个 C++ 库，用于将 Dart 代码和 Skia 图形库集成到 iOS 和 Android 的原生环境中。Embedder 负责处理 Dart 代码的执行环境，包括 Dart VM（虚拟机）的运行和管理 Dart 的 isolate（轻量级线程）。它负责管理渲染线程和 Dart isolate，同时也负责管理平台通道（Platform Channels），使得 Flutter 可以调用原生平台的 API。Dart 提供了一些特性，如异步支持（通过。]]></description><category></category></item><item><title><![CDATA[Stream在Swift 和 Flutter上的对比]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/146028991</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/146028991</guid><author>xlsn0w</author><pubDate>Tue, 04 Mar 2025 22:35:12 +0800</pubDate><description><![CDATA[Swift 和 Flutter 都是跨平台开发框架，它们各自提供了强大的工具来处理数据流，尤其是在移动应用开发中。虽然 Swift 主要用于 iOS 开发，而 Flutter 主要用于移动应用的开发（包括 iOS 和 Android），但它们各自在处理数据流的方式上有一些不同。]]></description><category></category></item><item><title><![CDATA[制作iOS越狱deb插件+dpkg命令行教程]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/130827005</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/130827005</guid><author>xlsn0w</author><pubDate>Tue, 23 May 2023 14:44:38 +0800</pubDate><description><![CDATA[在制作deb包时，该文件夹是不会打包的，而是会把该文件夹当作是系统的根目录，因此也可以称该文件夹为根文件夹或根目录，里面的所有文件和文件夹（除DEBIAN外）在安装时都会按照其在根文件夹的相对路径安装到Linux系统中。文件（可选），位于DEBIAN文件夹中，卸载处理文件，在删除关联文件前执行。文件（可选），位于DEBIAN文件夹中，卸载处理文件，在删除关联文件后执行。文件（可选），位于DEBIAN文件夹中，安装处理文件，在解包前执行。文件（可选），位于DEBIAN文件夹中，安装处理文件，在解包后执行。]]></description><category></category></item><item><title><![CDATA[iOS UITableView]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51771782</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51771782</guid><author>xlsn0w</author><pubDate>Mon, 27 Jun 2016 22:20:39 +0800</pubDate><description><![CDATA[// loadView 加载表视图
- (void)loadView
{
    
    // 1. 创建 tableView
    UITableView *tableView = [[UITableView
alloc] initWithFrame:[UIScreen
mainScreen].bounds
style:(UITableViewStyleGrouped)];]]></description><category></category></item><item><title><![CDATA[iOS 基础2]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51771737</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51771737</guid><author>xlsn0w</author><pubDate>Mon, 27 Jun 2016 22:19:06 +0800</pubDate><description><![CDATA[// UIImageView
    
    // 1. 创建对象
    UIImageView *imageView = [[UIImageView
alloc] initWithFrame:(CGRectMake(10,
100, 256,
192))];
    
    // 打开用户交互
    imageView.userInteractionEnabled =]]></description><category></category></item><item><title><![CDATA[iOS UI基础1]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51771670</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51771670</guid><author>xlsn0w</author><pubDate>Mon, 27 Jun 2016 22:10:14 +0800</pubDate><description><![CDATA[- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
 *)launchOptions {
    
    
    
    // 一、 window
    // window 就是用来展示控件的窗口。
在iOS中，
手机应用开发 只能有一个
]]></description><category></category></item><item><title><![CDATA[iOS Category]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51771650</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51771650</guid><author>xlsn0w</author><pubDate>Mon, 27 Jun 2016 21:58:09 +0800</pubDate><description><![CDATA[//OC里面只允许单继承，所以不用:了。//Category也叫类目，是OC中非常重要的语法，高手必备技能，年薪四十万不是梦。//Category是扩展类功能的方法之一。//Category无论有无源代码，都能为类添加功能。一般来说，如果我们有了源代码，通常不用Category，而是直接修改源代码，在源代码中添加方法的声明和实现。所以说Category是为没有源代码的类添加方法，以增强原始类的功能]]></description><category></category></item><item><title><![CDATA[OC 基础知识3]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51764990</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51764990</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 22:38:36 +0800</pubDate><description><![CDATA[//NSDate是Foundation框架中表示日期、时间、时区的一个类。
    //获取当前时间
    NSDate *date = [NSDate date];
    NSLog(@"%@",date);
    
    NSDate *date1 = [NSDate dateWithTimeInterval:10 sinceDate:date];
    NSLog(@"]]></description><category></category></item><item><title><![CDATA[OC 基础知识2]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51764928</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51764928</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 22:31:11 +0800</pubDate><description><![CDATA[//实例变量可见度分为三种
/**
 *  1、@public
公开的，实例变量既可以在类的外部 也可以在类的内部进行访问。简单的说，就是任何文件中都能访问，所以实例变量的安全性就会变得非常低，不建议采用，违背了OC中封装的特性。
    2、@protected
受保护的，实例变量只能在本类以及子类中进行访问，是实例变量的默认可见度，也是我们以后用的可见度。
    3、@priva]]></description><category></category></item><item><title><![CDATA[OC 类 对象]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51764889</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51764889</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 22:21:45 +0800</pubDate><description><![CDATA[//OC机制是消息发送机制！！！
    //[receiver message]
    //[Car alloc],让Car去执行alloc方法，因为alloc方式是加号方法，类方法，所以只能由类名作为receiver。执行完之后得到了Car类的一个具体对象(实例)
    //得到的具体实例
执行init方法，完成赋值，完成初始化操作。
    
    Car *car = []]></description><category></category></item><item><title><![CDATA[iOS block]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762851</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762851</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 15:18:33 +0800</pubDate><description><![CDATA[/*
    // 函数调用
    NSLog(@"%d", sum(3, 5));
    
    
    // block block为匿名函数，也是一种类型，block
里面存储的是函数体。“{函数体}”
    
    // block 的定义，根据类型定义
    int (^block1)(int a, int b) = ^(int x, int y){]]></description><category></category></item><item><title><![CDATA[iOS Image KVO]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762769</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762769</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 15:03:03 +0800</pubDate><description><![CDATA[/*
+ (UIImage *)requestImageWithURL:(NSString *)urlString
{
    NSURL *url = [NSURL URLWithString:urlString];
    
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url ];
    
    []]></description><category></category></item><item><title><![CDATA[iOS Network]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762759</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762759</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:59:58 +0800</pubDate><description><![CDATA[@interface ViewController () 


// 用于接受数据的可变data
@property (nonatomic,strong) NSMutableData *receiveData;




@end




@implementation ViewController




// 接收到网络回应后执行
- (void)conn]]></description><category></category></item><item><title><![CDATA[iOS NSThread]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762678</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762678</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:45:09 +0800</pubDate><description><![CDATA[- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    UIButton *button = [UIButton buttonW]]></description><category></category></item><item><title><![CDATA[iOS NSOperation]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762673</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762673</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:44:21 +0800</pubDate><description><![CDATA[- (void)viewDidLoad {
    [super viewDidLoad];
   


    self.view.backgroundColor = [UIColor whiteColor];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.frame ]]></description><category></category></item><item><title><![CDATA[iOS GCD]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762668</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762668</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:43:32 +0800</pubDate><description><![CDATA[- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    //1、GCD
是最简单的一种多线程实现方式、同时也是执行效率最高的一种方式，（全部是用 c
语言代码编写的 API），也是苹果公司最推崇的一种多线程实现方式。
    //2]]></description><category></category></item><item><title><![CDATA[iOS RunLoop]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762644</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762644</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:37:10 +0800</pubDate><description><![CDATA[一个RunLoop就是一个事件处理的循环，用来不停的调度工作以及处理输入事件。使用runloop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。runloop的设计是为了减少cpu无谓的空转。
1.本质：死循环，保证程序不会退出
2.runloop会监听所有的事件
3.没有事件的时候，休眠状态
4.当有事件发生，会立即响应事件
runloop可以监听的事件：UI的事]]></description><category></category></item><item><title><![CDATA[runtime之归档反归档]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762543</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762543</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:10:35 +0800</pubDate><description><![CDATA[#import 
#import 


// 归档的前提：被归档的对象需要遵守编码协议，并实现相应方法
@interface User : NSObject NSCoding>


@property (nonatomic,assign)
NSInteger age; //
年龄integer类型


@property (nonatomic,copy)
NSStrin]]></description><category></category></item><item><title><![CDATA[LocalAuthentication]]></title><link>https://blog.youkuaiyun.com/xlsn0w/article/details/51762540</link><guid>https://blog.youkuaiyun.com/xlsn0w/article/details/51762540</guid><author>xlsn0w</author><pubDate>Sun, 26 Jun 2016 14:05:34 +0800</pubDate><description><![CDATA[#import "TouchViewController.h"
//使用指纹验证必须要使用LocalAuthentication类库来支持
//LocalAuthentication类库包含两个分类，一个是LAContext，一个是error
//LAContext这个类是专门来创建与使用指纹验证的
//注：指纹验证，他只是通过我们指纹触发的一个事件，并不是非得用于登录、支付等功能
#i]]></description><category></category></item></channel></rss>