自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

allanGold

希望我的点滴记录对迷茫中的您有些许帮助

  • 博客(910)
  • 资源 (17)
  • 收藏
  • 关注

原创 【flutter】泛型类型判断

void main() { test<int>();}static testT<T>() { //判断T是否为某一类型或其子类 print(List<T>() is List<num>); //得到T的类型 print(typeOf<T>());}static Type typeOf<T>() => T;注意这个在dartpad中是无法运行的...

2020-09-01 14:42:04 2052

原创 【flutter】异常捕获和上报代码大致

void collectLog(String line){ ... //收集日志}void reportErrorAndLog(FlutterErrorDetails details){ ... //上报错误和日志逻辑}FlutterErrorDetails makeDetails(Object obj, StackTrace stack){ ...// 构建错误信息}void main() { FlutterError.onError = (FlutterErr

2020-08-26 18:16:41 298

原创 【atomic】再谈从atomic关键字说到多线程安全(内含iOS给代码加锁方法总结)

再谈从atomic关键字说到多线程安全(内含iOS给代码加锁方法总结)atomic是什么原子性:在默认情况下,由编译器所合成的方法会通过锁定机制确保其原子性(atomicity)。如果声明属性时不显式地声明nonatomic关键字,那这个属性就是“原子的”(atomic)。如果属性具备nonatomic特质,则不使用同步锁。atomic 和 nonatomic这对属性关键字是和线程安全挂钩的,虽然 atomic 属性关键字会给该 property 的 getter和setter方法加锁,但它也不能保

2020-08-26 14:39:02 1061

原创 【flutter】flutter sdk获取方法

下载以下安装包来获取最新的 stable Flutter SDK:flutter_macos_1.20.2-stable.zip想要获取到其他版本的安装包,请参阅 SDK 版本列表 页面。将文件解压到目标路径, 比如:$ cd ~/development$ unzip ~/Downloads/flutter_macos_1.20.2-stable.zip如果你不想安装固定版本的安装包,你可以跳过步骤 1 和 2。或者是从 GitHub 上的 Flutter repo 获取源代码,并根据需要更改

2020-08-25 16:17:53 586

原创 【flutter】 flutter 环境及工具

https://flutter.dev/community/chinaexport PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cngit clone -b dev https://github.com/flutter/flutter.gitexport PATH="$PWD/flutter/bin:$PATH"cd ./flutterf.

2020-08-25 16:07:08 117

原创 【Flutter】flutter .gitignore参考

给Flutter项目添加.gitignore文件以及如何修改.gitignore文件并生效flutter项目的开发,一般来说都是与原生开发混合进行的,单纯的flutter开发局限性很大,需要与原生进行配合。flutter项目集成的两种方式这就涉及到如何将flutter与现有的项目进行融合。这里以客户端的Android/Ios开发为例,使用flutter开发项目大体有两种集成方式,第一种就是新建flutter项目,android端就在flutter/android目录下开发,ios端就在flutter/

2020-08-18 17:20:38 546

原创 【Flutter】flutter .gitignore小记

flutter官方样例:https://github.com/flutter/flutter/blob/master/.gitignore某库的实践样例# Miscellaneous*.class*.log*.pyc*.swp.DS_Store.atom/.buildlog/.history.svn/# IntelliJ related*.iml*.ipr*.iws.idea/# Visual Studio Code related.vscode/# Fl.

2020-08-18 17:13:59 164

原创 【时间】iOS时间处理小记

iOS关于时间的处理做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单。我们需要了解与时间相关的各种API之间的差别,再因场景而异去设计相应的机制。时间的形式在开始深入讨论之前,我们需要确信一个前提:时间是线性的。即任意一个时刻,这个地球上只有一个绝对时间值存在,只不过因为时区或者文化的差异,处于同一时空的我们对同一时间的表述或者理解不同。这个看似简单明了的道理,是我们理解各种与时间相关的复杂概念的基石。就像UTF-8和UTF-16其实都是U

2020-08-16 17:01:19 372

原创 【手势隔层透传】iOS viewA被viewB遮挡,如何让viewA依然响应添加的pan平移手势

目录实践参考系统响应阶段APP响应触摸事件触摸 事件 响应者触摸触摸事件响应者寻找最佳响应者(Hit-Testing)视图如何判断自己能否响应触摸事件?寻找最佳响应者的原理hitTest:withEvent:自定义hitTest:withEvent:触摸事件的响应响应链中的事件传递规则UIResponder、UIGestureRecognizer、UIControl的优先级UIGestureRecognizerUIControl实践场景描述:viewA上的80%被viewB遮挡viewA上添加了pa

2020-08-05 14:53:43 5520

原创 iOS LRU学习参考

1.简介LRU (英文:Least Recently Used), 意为最近最少使用,这个算法的精髓在于如果一块数据最近被访问,那么它将来被访问的几率也很高,根据数据的历史访问来淘汰长时间未使用的数据。这篇文章主要分享一下关于内存缓存在iOS 中运用,主要分析一下第三方框架中LRU的运用,包括 Lottie 和 YYCache.2.算法实现缓存淘汰算法1.新添加的数据放在头部2.被访问到的数据放在头部3.超过最大缓存量的数据将被移除。3.运用1.LottieLottieLO

2020-08-03 11:14:29 861

原创 【二进制数据】【共用体】NSData类型与double类型互转

从NSData转double// .h中FOUNDATION_EXPORT double floatFromData(NSData *data);// .m中double floatFromData(NSData *data) { char* pData = data.bytes; char pData2[8] = {0}; for (int i = 0; i < 8; i++) { pData2[i] = pData[7 - i]; .

2020-07-17 10:33:37 803

原创 【阴沟翻船】AVPlayer设置完毕马上调用play方法会导致播放没声音

注意:必须要KVO监听playItem的status,监听AVPlayerStatusReadyToPlay时再调用play方法,不论是远程的还是本地 NSURL *url = [[NSBundle mainBundle] URLForResource:@"rqhhs.mp3" withExtension:nil]; self.playItem = [AVPlayerItem playerItemWithURL:url];// 2.创建AVPlayerItem s.

2020-07-14 18:46:02 2783

原创 内存泄漏分析集锦

iOS自从引入ARC机制后,一般的内存管理就可以不用我们码农来负责了,但是一些操作如果不注意,还是会引起内存泄漏。本文主要介绍一下内存泄漏的原理、常规的检测方法以及出现的常用场景和修改方法。1、内存泄漏原理内存泄漏的在百度上的解释就是“程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果”。在我的理解里就是,公司给一个入职的员工分配了一个工位,但是这个员工离职后,这个工位却不能分配给下一位入职的员工使用,造成了大量的资源浪.

2020-07-04 12:24:48 823

原创 drawrect导致内存暴涨分析

问题的抛出在平日的开发中,随意覆盖drawRect方法,稍有不慎就会让你的程序内存暴增。下面我们来看一个例子。去年的某天午后,北京的雾霾依旧像现在这样醇厚,我的同事辉哥像往常一样与我楼下约烟。我见辉哥表情凝重,便询问究竟。辉哥做了一个画板功能,但是苦于内存问题一直得不到解决。画板功能很简单,就是记录手指触摸的轨迹然后绘制在屏幕上。下面我们来看一张效果图:如图我们看到左侧内存的状况随着手指的绘制逐渐恶化。另外细心的同学可以观察到,点击图中蓝色矩形按钮之后,便会弹出画板,而这时并没有进行任何的手指绘制,

2020-07-04 12:00:55 735

原创 各个内存分析工具比较

github地址:https://github.com/Tencent/OOMDetectorhttps://github.com/facebookarchive/FBAllocationTracker

2020-07-04 11:02:35 1057

原创 WKWebView的userAgent在iOS13上和Mac上safari的userAgent一样的问题

iOS13PadOS上,WKWebView的UserAgent变成了类似这样:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko)其主要原因是iPadOS在设置-Safari浏览器-请求桌面网站的设置默认是开启的,只要把它关掉就正常了,但是不能要求所有用你的软件的人都去做这个设置。WKWebView中新增的api中有个新的api叫做WKWebpagePreferences:

2020-07-04 10:51:02 2012

原创 iOS诡异问题之一(键盘弹起来不显示按键,且键盘只有200高)

问题描述:键盘弹起来不显示按键,且键盘只有200高问题原因:采用对window.rootViewController直接更换值的方式切换页面,且其中一个controller在viewWillAppear方法中调用了页面内的textField或者textView的becomeFirstResponder方法要调起键盘必现方式:在window.rootViewController更换值之前先赋值nil解决方案(暂时):把在在viewWillAppear方法中调用的textField或者textVie

2020-06-18 23:30:44 518

原创 AsyncDisplayKit/texture

旧https://github.com/facebookarchive/AsyncDisplayKit新https://github.com/texturegroup/texture

2020-05-24 17:50:34 255

原创 腾讯的一个Hybrid框架

https://github.com/Tencent/VasSonic

2020-05-18 10:23:01 446

原创 Mac 常用软件记录

xnip 长截图工具(Mac APP Store)注意:截图是选定区域才能长截图(如果选择窗口截图)

2020-05-07 11:39:13 255

原创 iOS 多线程之任务和队列

iOS 多线程之任务和队列前言学习多线程,肯定要了解GCD,GCD两个最核心的概念就是:任务和队列。所以学习好多线程,首先要把任务和队列吃透,才能能好的使用多线程。为什么使用GCD?因为使用 GCD 有很多好处啊,具体如下:GCD 可用于多核的并行运算;GCD 会自动利用更多的 CPU 内核(比如双核、四核);GCD 会自动管理线程的生命周期(创建线程、调度任务、销毁线程);程序...

2020-04-23 22:44:50 734

原创 Android Studio(as)如何点击project区的文件切换代码区(单击文件打开源码)

单击文件打开源码默认双击项目窗口的文件,就能够在编辑器中自动打开项目窗口 -- 工具栏 -- 设置按钮 -- Autoscroll to Source勾选,单击就可在编辑器中自动打开。从源码定位到文件编辑器中打开的文件,默认光标在其中,是不会自动定位到文件所在位置的。项目窗口 -- 工具栏 -- 设置按钮 -- Autoscroll from Source勾选,光标单击编辑器中...

2020-04-04 11:22:34 1386

原创 代码对比工具 mac

代码比对神器 KaleidoscopeKaleidoscope 是一个非常强大的比对工具,可以十分方便地比对文本、图片、文件夹等内容。搭配上 SourceTree,能够大大提升 Git 的效率。Kaleidoscope 可以用来:比对任意文字、图片、文件夹Code Review 利器,可以比对 Git 中不同 commit、不同分支上的代码快速解决 Git 合并冲突…Source...

2020-03-19 20:40:38 3051 1

原创 【git tag】相关操作

打tag :git tag -a [tag名] -m "此次tag备注"推送所有tag :git push --tags删除tag :git tag -d [tag名]删除远程taggit push origin :refs/tags/[tag名]查看远程taggit ls-remote...

2020-03-02 17:58:57 126

原创 Jenkins 如何hook git push --tags

这是gitlab钩子参考:https://testerhome.com/topics/17383

2020-03-02 17:43:10 402

原创 私有pod库创建过程

1、创建pod的git仓库2、把仓库的clone地址复制一下3、pod repo可以看到本地所有的repo,包括path也就是文件路径也可以看到4、pod repo add PrivatePods clone地址注意:官方创建私有pod文档:https://guides.cocoapods.org/making/private-cocoapods.html这个命令执行完毕后...

2020-02-28 14:21:52 628

原创 NSURLProtocol

为了使用NSURLProtocol子类,需要向URL加载系统进行注册。当请求被加载时,系统会向每一个注册过的protocol询问:“Hey你能控制这个请求吗?”第一个通过+canInitWithRequest:回答为YES的protocol就会控制该请求。URL protocol会被以注册顺序的反序访问,所以当在-application:didFinishLoadingWit...

2020-02-20 17:55:19 278

原创 git rebase用法 以及 --git merge 与 git rebase区别

https://www.cnblogs.com/FraserYu/p/11192840.html

2020-02-14 09:58:16 211

原创 git fork工作流

git fork工作流

2020-02-13 16:32:58 389

原创 iOS 坐标原点调研(屏幕左上角 OR 导航栏右下角)

iOS 屏幕原点坐标自定制导航栏的研究一、屏幕原点坐标的研究小伙伴们可能发现,我们给一个空间设置origin为(0,0)的时候,有时候这个点会再屏幕的最左上角(有导航栏的情况下还可能会被导航栏给盖住),有时候又在导航栏的下边,都是同样的原点坐标,那么为什么会出现这种情况呢?下面给出答案:一个controller的view的原点位置受self.navigationController. na...

2020-02-13 16:01:55 1027

原创 git commit -m 如何支持换行(或者说git comment如何支持换行)

git commit -m ' // 在这里直接输入回车即可> 1、第一项改动 // 以下的这些真正的comment可以在其他文本编辑器中写好粘贴过来> 2、> i、第二项第一个小改动> ii、第二项第二个小改动> iii、第二项第三个小改动> 3、第三项改动> 4、第四项改动> ' /...

2020-02-13 11:20:33 9005 1

原创 Xcode中Assets.xcassets中的图片可以设置拉伸区域

配合这个方法[[UIImageView alloc] initWithImage:[UIImage imageNamed:kChatCellRightMessage inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil]]

2020-02-11 18:46:44 1271

原创 Unable to install / Could not locate installed application 问题

可能是某个第三方库的framework没有拉全处理方法:https://blog.csdn.net/allanGold/article/details/103969909

2020-01-14 11:29:25 1222

原创 CocoaPods清理本地缓存

更新了cocoaPods中第三方后,有可能cocoaPods中还存在以前老版本的缓存,所以,出现一些奇葩问题的时候,如果找不到问题,不妨清除一下cocoaPods缓存试试1. 打开终端,输入pod cache list | grep '/Users/你mac的用户名/Library/Caches/CocoaPods/Pods/Specs/Release/BBB',会列出所有本地已经缓存的第三方...

2020-01-14 11:17:35 2283

原创 【AFNetworking】 缓存策略问题

AFHTTPSessionManager *manager = [AFHTTPSessionManager new];manager.requestSerializer.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;

2020-01-02 15:29:41 520

原创 【左移】符的使用

枚举定义时的赋值技巧1 << 0;// 11 << 1;// 21 << 2;// 4

2019-12-17 10:12:32 168 2

原创 【SDWebImage】类图及时序图

High Level DiagramOverall Class DiagramTop Level API DiagramMain Sequence Diagram

2019-12-16 14:51:13 366

原创 【git diff】不输出东西

当git diff不输出东西时试试:git diff --cached参考:https://segmentfault.com/a/1190000011969554

2019-12-16 10:46:46 1089

原创 Mac上解压Assets.car文件的小工具

https://github.com/henusjj/Assets.carTool

2019-12-12 14:29:17 1751

原创 禁止UITextField 使用粘贴复制功能

在开发中有时候会遇到这样的需求,就是一个文本框里面的内容不允许用户复制,或者不允许用户将其它地方复制的内容粘贴进来,那怎么实现禁止 UITextField 的粘贴、复制呢?本文的方法是通过继承UITextField的子类重写方法的方式在 UITextField 中有这样一个方法:-canPerformAction:withSender:,下面来重写这个方法:- (BOOL)canPe...

2019-12-12 10:21:08 654

iOS9 By Tutorials.zip

iOS9 By Tutorials iOS9的新功能使用以及例子,希望可以帮到喜欢iOS的你

2019-08-06

iOS 9 by Tutorials Code3.zip

iOS 9 by Tutorials Code3 05-15

2019-08-06

iOS 9 by Tutorials Code2_2.zip

iOS 9 by Tutorials Code2_2 04_final

2019-08-06

iOS 9 by Tutorials Code2_1.zip

iOS 9 by Tutorials Code2_1 4_starter

2019-08-06

iOS 9 by Tutorials Code1.zip

iOS 9 by Tutorials Code1 01-0301-0301-0301-03

2019-08-06

iOS7 by Tutorials.zip

iOS7 by Tutorial

2019-07-27

iOS 11 by Tutori随书源码.zip

iOS 11 by Tutorials随书源码,配合iOS 11 by Tutorials pdf学习更佳

2019-07-27

iOS 11 by Tutorials.pdf.zip

iOS 11 by Tutorials,iOS11新功能及api

2019-07-27

iOS8 by Tutorials随书源码.zip

配合iOS by Turorials pdf一起学习iOS8系统的新特性和功能

2019-07-27

iOS 8 by Tutorials.zip

外国比较好的一个iOS网站出的书,深入讲解一下iOS系统版本特有的功能

2019-07-27

时序图 类图 绘图软件

时序图 类图 绘图软件

2019-07-10

Androidyinshipinkaifa_hejunlin.pdf

Android 音视频开发 hejunlin,网上资源不太好找,大家支持一下,下载给点分

2019-06-24

vlc-ios 视频播放器

vlc-ios.3.1.5最新版视频播放器完整代码,可以直接运行

2019-03-05

京峰教育Docker、Jenkins企业实战视频

从淘宝花9毛买的希望对大家有帮助 Jenkins 加 docker 先学学

2019-02-10

jenkins企业集成

网上得来的资源大家一同学习,希望大家能下载

2019-02-10

MySQL性能管理及架构设计

MySQL性能管理及架构设计 视频哦

2019-01-06

swift教程 英文版

swift英文教程 大拿杰作

2019-01-06

空空如也

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

TA关注的人

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