自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 鸿蒙学习第一课--认识目录结构

开发者在创建限定词目录时,需要遵守限定词目录的命名规则。移动国家码_移动网络码-语言_文字_国家或地区-横竖屏-设备类型-颜色模式-屏幕密度。开发者可以根据应用的使用场景和设备特征,选择其中的一类或几类限定词组成目录名称。限定词的连接方式:语言、文字、国家或地区之间采用下划线()连接,移动国家码和移动网络码之间也采用下划线()连接,除此之外的其他限定词之间均采用中划线(-)连接。例如:zh_Hant_CN、zh_CN-car-ldpi。

2024-05-22 17:45:24 1011

原创 flutter-为flutter项目创建不同环境,实现ios/Android原生/flutter自动更改包名:Bundle id 、网络环境等

最终效果flutter端,打开flutter项目,会看到以下三个自定义的选项:安卓端,打开对应的安卓项目(即打开android文件夹), 会看到Build Variants下,app有多个环境可选, 分别是test环境的profile、release、debug版; dev环境的profile、release、debug版 和 prod环境的profile、release、debug版iOS端,用xcode打开对应的ios项目,即打开ios文件夹下的Runner.xcworkspace

2020-12-31 15:01:28 2925 4

原创 flutter-如何写一个与原生沟通的插件

如何写一个与原生沟通的插件1.构建一个插件构建一个插件// xxx为那个你喜欢的唯一名// -a指定安卓开发语言,默认Swift// -i指定ios开发语言,默认Kotlinflutter create --template=plugin --platforms=android,ios -i objc -a java xxx2.概念channel 主要有 methodChannel 和 eventChannel 2种,还有一种BasicMessageChannel没了解过

2020-12-01 14:55:33 465

原创 Flutter 知识点集结

Flutter生命周期一个StatefulWidget的生命周期APP进入前后台WidgetsBindingObserverclass _MyScreenState extends State<MyScreen> with WidgetsBindingObservervoid initState() { super.initState(); WidgetsBinding.instance.addObserver(this);}void dispose

2020-09-29 17:19:09 329

原创 服务器玩耍一:拥有一个服务器带重装系统

购买来到 腾讯云 服务器选购了一台轻量应用服务器,我选的是中国香港,系统镜像,Debian购买完成后,可以在腾讯云轻量应用服务器下找到购买的服务器,如下:创建密钥点击这里的创建密钥,买的地域是哪,选择哪,创建后,将私钥下到本地,重新来到服务器,点击登录输入指令登录ssh -i 本地私钥地址 root@服务器ip地址比如// ssh -i file:///Users/zhouzhou/Desktop/testssh root@119.123.156.241登录重装系统输入命令重装想

2020-09-26 15:25:26 306

原创 flutter-发布一个package到pub.dev 超详细教程

这里写目录标题创建项目检查名字唯一性新建项目dart包插件包完成项目写代码公开类写示例创建项目检查名字唯一性首先想一个合适的名字,来到官网https://pub.dev/ 输入这个名字,如果这个名字有人用,那只能换一个了比如这里用的是: zsh_calendar,搜索结果为:新建项目包分为2种: 纯dart包和 和原生沟通的插件包根据自身情况选择一种(如果需要和原生沟通就选插件包,不需要就选dart包)dart包来到合适目录下,执行命令:// xxx为那个你喜欢的唯一名flutte

2020-09-12 10:52:10 4025 2

原创 flutter- zsh_calendar 日历组件,支持周日切换,支持滑动收缩,支持上下月跳转,支持跳到某个日期,支持边界效果, 日历中每个日期、周的widget都可自定义

zsh_calendar 日历组件,支持周日切换,支持滑动收缩,支持上下页跳转,支持跳到某个日期,支持边界效果, 日历中每个日期、周的widget都可自定义效果使用方法导入文件使用更多效果以及完整代码在[github](https://github.com/hellozsh/zsh_calendar)附上github 地址:pub.dev 地址效果可高度自定义的日历,日历中每个日期、周都可以自定义样式,实现了项目1跳转到某个日期功能,上下月跳转功能左右滑动切换功能周日历和月日历切换功能

2020-09-11 19:03:18 1743 1

原创 flutter-仿照ios的tableView,可选择悬停、自定义scrollBar

flutter_tableView 仿照ios的tableView分组悬停效果,带scrollBar, 选择民族效果效果使用方法完整代码在[github](https://github.com/hellozsh/flutter_tableview)效果高度可自定义样式的tableView,可自由配置是否悬停、是否带scrollBar,自定义scrollBar样式,位置,是否滑动,scrollBar点击提示效果效果1: 设置了悬停、scrollBar的位置,scrollBar点击的提示widget效

2020-09-03 11:16:23 1776

原创 GCD理解-Group、Queue、Concurrent、Serial、async、sync

GCD理解GCDDispatch Queue串行队列(Serial Dispatch Queue)并发队列(Concurrent Dispatch Queue)dispatch_queue_create系统提供的Dispatch Queue为创建的Dispatch Queue创建优先级延迟执行(dispatch_after)Dispatch Groupdispatch_barrier_asyncdispatch_sync使用场景:dispatch_applydispatch_suspend/dispatch

2020-06-27 14:49:18 298

原创 LLVM开发插件以及遇到问题

LLVM理解什么是LLVM传统的编译器架构Clang什么是Clang相比于GCC,Clang具有如下优点Oc源文件的编译过程词法分析语法树-ASTLLVM IR开始制作源码下载应用与实践clang插件开发-插件目录clang插件开发-Hack Xcodeclang插件开发- Xcode 配置理解什么是LLVMLLVM项目是模块化、可重用的编译器以及工具链技术的集合创始人就说Swift之父LLVM本身不是首字母缩略词,它是项目的全名传统的编译器架构GCC、LLVM、Clang

2020-05-28 18:04:27 906

原创 加密、单向散列函数、签名、证书、iOS签名机制

加密想要了解iOS的签名机制,需要先对加密解密有个简单的了解,再是单向散列函数,然后是数字签名,再是证书,最后就是iOS签名机制了加密解密加密主要分为:1.对称加密:加密用的密钥和解密用的密钥是相同的2.非对称加密:也叫公钥加密,加密用的密钥和解密用的密钥是不同的常见对称加密1.DESDES是一种将64bit明文加密成64bit密文的对称密码算法,密钥长度是56bit,规格上来说,...

2020-01-12 13:42:44 392

原创 Codable、编码器、解码器以及使用自定义编码解码器

Codable是序列化与反序列化的一个协议,这里贴出来如果实现Codable协议及达到使用系统编码解码器(如JSONEncoder和JSONDecoder),另外再自己自定义一个编码器以便更好理解编码解码的工作原理使用Codable//MARK: 使用Codablestruct Coordinate: Codable { var latitude: Double v...

2019-12-27 17:37:03 631

原创 Unicode、UTF8、UTF16详细理解总结

推荐一篇文章,此博客都是阅读这篇文章后自己的一些总结与理解Unicode是一种标准,他收集了世界上所有的字符,并为每个字符分配了一个唯一的字符编号,这个字符编号就叫代码点专业术语概念Coded Character Set(CCS):编码字符集,将全球的字符收集起来每个分配唯一的字符编号,Unicode字符集就是一种编码字符集Character Encoding Form(CEF):将cc...

2019-12-25 18:41:48 697

原创 精神乐趣

2016年6月毕业以来,生活开始渐渐只剩下工作,除了工作时间,更是大把的时间留给了学习,虽然说专业技能有所提升,但是生活开始慢慢变得无聊不明确,工作是为了什么,赚钱是为了什么,怎么平衡一直没有留下时间去细细思考前2天看到一张图,让我开始想要整理自己的想法,一位大牛博客上贴出来的图:我们中很多人也许会走常规模式,但是我相信他们更希望能走理想模式,像我一样,需要想办法去走这条路。回想了一下自己工...

2019-12-25 16:42:03 320 1

原创 Mac储存空间系统容量过大问题

Mac储存空间系统容量过大问题mac使用时间久了后,储存空间会变很小,我们可以通过点击下图的管理来删掉一些比如废纸篓、文稿、应用程序等不用的文件,但有时候系统显示过大甚至到100多G的情况这种方法就不能删除它的资源,那怎么看它都有哪些需要删除呢?查看所有根目录下文件大小打开命令行工具,执行:du -sh *会看到如下结果找到占比较大的文件,拿Library为例cd Library...

2019-12-20 14:42:29 1453

原创 优雅修改iOS13的modalPresentationStyle的默认值,一处修改即可

iOS13的modalPresentationStyle默认为UIModalPresentationAutomatic,要想修改,需要手动设置vc.modalPresentationStyle = UIModalPresentationFullScreen;但是这个修改需要在每个presentViewController:animated:completion:之前加上这样一句代码,需要改动多个...

2019-10-08 11:30:54 7560

原创 深入理解KMP算法,详细解析KMP算法过程(附代码、13. 字符串查找)

问题描述:对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。样例 1:输入: source = “source” , target = “target”输出:-1 样例解释: 如果source里没有包含target的内容,返回-1样例 2:输入: sour...

2019-06-04 17:07:49 181

原创 runtime使用三:自实现kvo

一:kvo 主要原理:当我们调用系统的addObserver: forKeyPath options: context:方法时候,系统在运行时为我们创建了一个NSKVONotifying_XXX类,该类属于XXX类的子类,这个子类重写了我们要监听的那个属性的set方法,额外的去调用了observeValueForKeyPath: ofObject: change: context:,我们可以写...

2019-05-14 18:44:10 204

原创 runtime使用二:使用runtime实现方法交换(Method Swizzling)

实际开发过程中,我们可能需要这样的需求: 想要为一个系统方法或者自定义方法加一些判断条件,但是重写系统方法(或自定义方法)再在每个调用的地方修改再费时费力,而且效果不美好,很容易有遗漏等情况所以这时候我们就需要用到runtime的方法交换,照常调用系统方法或自定义方法,但是运行时实际走的是我们交换了之后的那个方法现在我们来看他的实现调用处:#import "ViewController.h...

2019-05-13 16:20:21 359

原创 Block学习二:所有知识点总结

首先问一个问题,以下代码会打印什么? #import "ViewController.h"//#import "XZLTextField.h"@interface ViewController ()@endstatic int staticGloblVal = 10;int globlVal = 10;@implementation ViewController- (...

2019-05-12 22:35:54 110

原创 leetCode算法题 3. 统计数字详细思路

描述中文English计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值。您在真实的面试中是否遇到过这个题?样例样例 1:输入:k = 1, n = 1输出:1解释:在 [0, 1] 中,我们发现 1 出现了 1 次 (1)。样例 2:输入:k = 1, n = 12输出:5解释:在 [0, 1, 2, 3, 4, 5, 6, 7, 8...

2019-05-10 12:04:00 184

原创 runtime使用一:利用runtime实现归解档

建立一个类person,使用runtime实现该类的归解档person.h@interface Person : NSObject <NSCoding,NSSecureCoding>@property (nonatomic, strong) NSString *name;@endperson.m#import "Person.h"#import <objc/r...

2019-05-09 11:12:25 217

原创 Block学习一:Block的实质

这篇主要让我们理解Block编译之后变成了什么我们先创建一个类ABlock 只包含简单的带有Block的代码,如下:- (void)method { void (^stackBlock)(void) = ^{ NSLog(@"this is a block"); }; stackBlock();}然后我们打...

2019-05-06 18:53:27 215

原创 各种小问题总结

1:xcode工程文件乱序选中文件夹、右键–&amp;amp;amp;amp;gt;sort by name(sort by type)2.编译报错:Illegal redeclaration of property in class extension ‘XXXXTableViewCell’ (attribute must be ‘readwrite’, while its primary must be ‘readonl...

2019-03-27 00:52:48 1157

原创 9. Fizz Buzz 问题

描述中文English给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:如果这个数被3整除,打印fizz.如果这个数被5整除,打印buzz.如果这个数能同时被3和5整除,打印fizz buzz.如果这个数既不能被 3 整除也不能被 5 整除,打印数字本身。您在真实的面试中是否遇到过这个题?样例比如 n = 15, 返回一个字符串数组:[“1”, “2”, “fiz...

2019-02-21 14:55:48 456

原创 2. 尾部的零

描述设计一个算法,计算出n阶乘中尾部零的个数您在真实的面试中是否遇到过这个题?样例样例 1:输入: 11输出: 2样例解释:11! = 39916800, 结尾的0有2个。样例 2:输入: 5输出: 1样例解释:5! = 120, 结尾的0有1个。挑战O(logN)的时间复杂度解释:能产生0的肯定是5和双数相乘,或者10、20等10的倍数,所以以5为单位依次比...

2019-02-19 10:59:33 94

原创 像、点、开发中使用的宽度、image压缩体积、逻辑分辨率、设备分辨率、point、pixel

引子:- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray&amp;amp;amp;amp;amp;lt;UIImage *&amp;amp;amp;amp;amp;gt; *)photos sourceAssets:(NSArray *)assets isSelectOri...

2019-02-18 11:53:10 347

原创 632. 二叉树的最大节点(形参的改变不影响实参的值)

描述在二叉树中寻找值最大的节点并返回。描述中文English在二叉树中寻找值最大的节点并返回。样例样例 1:输入:1/ -5 3/ \ / 1 2 -4 -5输出: 值为3的节点样例 2:输入:10/ -5 2/ \ / 0 3 -4 -5输出: 值为10的节点public class Solution ...

2019-02-13 16:42:39 97

原创 463. 整数排序---选择排序,冒泡排序,插入排序

描述给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例样例 1:输入: [3, 2, 1, 4, 5]输出: [1, 2, 3, 4, 5]样例 2:输入: [1, 1, 2, 1, 1]输出: [1, 1, 1, 1, 2]选择排序它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置...

2019-02-13 15:04:37 326

原创 197. 排列序号

描述 给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。样例 例如,排列 [1,2,4] 是第 1 个排列。解析这题的意思是给一个排列,算出它是第几个排序 例如: 排列 [1,4,2] 是第 2 个排列。 排列 [2,1,4] 是第 3 个排列。 排列 [2,4,1] 是第 4 个排列。 排列 [4,1,2] 是第 5 个排列。 ...

2018-07-24 10:34:41 1253

原创 支付宝微信支付全本地写法和与服务器沟通方法

首先集成支付宝,微信,申请各自该申请的东西。这里不重复主要包含以下东西: XZLPayBusiness要导入的头文件包含以下内容 1.支付宝全本地支付+ (void)doAPPay:(NSString *)money { NSString *filePath = [[NSBundle mainBundle] pathForResource:@"2048"ofType:...

2018-07-23 15:26:34 1210

原创 254. Drop Eggs 详细解析

254. Drop Eggs腾讯简单面试真题有一个n层的大楼,如果一个鸡蛋从k层(包括k层)以上扔,它会破,如果k层 以下,它不会破 你有两个鸡蛋,在最坏情况下用最少次数找到这个k,

2018-07-17 17:52:58 869

转载 ObjC的Block中使用weakSelf/strongSelf @weakify/@strongify

Objective C 的 Block 是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务。但是,如果使用不当,Block 也会引起一些循环引用问题(retain cycle)—— Block 会 retain ‘self’,而 ‘self‘ 又 retain 了 Block。因为在 ObjC 中,直接调用一个实例变量,会被编译器处理成 ‘self->theVar’,’

2016-05-28 23:14:26 542

转载 苹果Xcode帮助文档阅读指南-https://developer.apple.com/library/ios/navigation/

苹果Xcode帮助文档阅读指南一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用。从论坛、微博等等地方看到的初学者提出的问题,也暴露出他们不知道很多他们的疑惑其实在文档里面写的非常清楚。而有时候当他们想从文档去找解决方案的时候,也往往找不到。或者有些人意识到了,阅读文档是学习的好办法,但是不得要领。...

2016-05-04 11:33:22 802

转载 MVC详细精确理解

MVC(Model View Controller)模型(model)-视图(view)-控制器(controller):MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新

2016-04-08 10:39:19 475

转载 iOS8 【xcode6以上中添加pch全局引用文件】

前沿:xcode6中去掉了pch,为了一些琐碎的头文件引用,加快了 编译速度!xcode6之前的版本建项目就自动添加了是这样的:【xcode6中添加pch全局引用文件】" title="iOS8 【xcode6中添加pch全局引用文件】" style="margin:0px; padding:0px; border:0px; list-style:none">xcode6后的版

2016-04-07 18:01:53 377

转载 UINavigationBar导航栏相关设置

设置导航颜色[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1]];[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];设置导航文字颜色[

2016-04-06 17:57:23 350

原创 保存图片到本地,查看本地图片,递归实现scrollView的无限循环滚动,文字横向渐变效果,autoLayout

//// ViewController.m// DiGui//// Created by test on 16/3/28.// Copyright © 2016年 Zhou. All rights reserved.//#pragma mark —————————— AutoLayout----添加两个约束实现imageView居中,并设置宽高比为1:2。#import

2016-03-29 17:38:31 847

原创 webView 无限进入,点击返回,返回到网页的上一个页面,当无返回时,返回到自己的页面

-(void)backToBefore{        // 点击返回时,返回操作的上一页    if (_webView.canGoBack) {        [_webView goBack];    }    else    {        [super backToBefore];        [_web

2016-03-28 17:18:12 758

原创 关于git的一些命令总结

1.Finder中显示隐藏目录和文件 / 显示.git隐藏文件defaults write com.apple.finder AppleShowAllFiles  TRUE回车 输入killall Finder如果想要隐藏,将TRUE 改为FALSE2. git了一个项目在本地仓库里,然后又把这个东西copy到了另外一个目录,在另外一个目录里面做了好多修改现

2016-03-28 14:22:38 462

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除