- 博客(90)
- 资源 (3)
- 收藏
- 关注
原创 Flutter之异步操作async原理、Future本质
在学习Flutter的时候会用到异步操作async,并函数返回一个Futrue类型实例。本文针对这种使用场景,通过分析、举例,说明其中使用方法和工作原理。
2021-10-28 11:31:25
2209
1
原创 Flutter学习--第三方库&学习资料
网络请求库 DioGitHub - flutterchina/dio: A powerful Http client for Dart, which supports Interceptors, FormData, Request Cancellation, File Downloading, Timeout etc.https://github.com/flutterchina/dio轮播图GitHub - best-flutter/flutter_swiper: The best s...
2021-09-28 11:33:51
246
原创 ReativeCocoa(三)RACCommand
使用 初始化一个commed需要一个返回类型为RACSignal类型的Block。定义好RACCommand之后可以调用execute:方法执行该命令RACCommand *commend = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) { return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscri..
2021-09-26 17:59:09
296
原创 Flutter之Dart语法(二)面向对象
在Dart语法中,用关键字class表示类。class Person { }私有和共有Dart中共有和私有的界定是以文件界定的,并不是通过类界定的,如果不允许其他文件访问当前文件中的成员变量,或者不允许调用方法,可以定义成员变量或者方法的时候以下划线开始。class Person { //内部变量 String _id = "111"; //外部变量 String? name; //内部方法 void _printId() => print("id is
2021-09-20 23:14:37
398
原创 Flutter之Dart语法(一)数据类型
变量与常量Dart中用var声明一个变量,如果想设置一个变量不可变,那么可以使用final或者const修饰。var number;number = 12;print("the number is $number");number = "20";print(number);final sum = 10;const count = 2;字符串字符串的几种创建方式使用单引号、双引号 使用三个引号、双引号创建多行字符串 使用r创建原始字符串,使转义字符无效 var a
2021-09-19 23:43:33
724
原创 ReativeCocoa(二)RACDisposable、RACSubscriber
在了解RAC的过程中,RACSignal的工作处理流程中,少不了RACDisposable和RACSubscriber的参与。本文通过前文的使用代码、解读源码,来探索RACDisposable和RACSubscriber的工作原理。RACDisposable翻译disposable英 [dɪˈspəʊzəbl] 美 [dɪˈspoʊzəbl] adj.可任意处理的;一次性的;用后即丢弃的;可动用的;可自由支配的n.〈美口〉使用后随即抛掉的东西(尤指容器等)使用-...
2021-09-17 16:50:33
303
原创 ReativeCocoa(一)RACSignal解读
使用 RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { NSLog(@"this is create block"); [subscriber sendNext:@"发送Next"]; return nil; }]; [signal subscribeNext:^(id x) {
2021-09-17 10:18:28
171
原创 iOS工程编译速度优化
背景自己试一试二进制pod库,来优化下iOS项目的启动时间。https://juejin.cn/post/6844904025624674311https://github.com/su350380433/cocoapods-imy-bin-demo官方流程1.创建一个存放二进制私有源仓库如:https://github.com/su350380433/example_spec_dev并添加到本地仓库中pod repo add example_spec_bin_de
2021-08-30 10:23:02
475
原创 Git回滚本地分支代码
Git回滚本地分支代码工作区域工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的。暂存区:已经 git add xxx 进去,且未 git commit xxx 的。本地分支:已经git commit -m xxx 提交到本地分支的。流程git log # 得到你需要回退一次提交的commit idgit reset --hard <commit_id> # 回到其中你想要的某个版或者
2020-08-06 16:26:21
2714
原创 iOS ScrollView嵌套ScrolloView滑动处理 swift
本文demo下载地址 DFLinkageViewDemo实现效果:如下层级结构:核心内容;1.让外层scrollView和内层scrollview同时滚动scrollDFLinkageScrollView 内部实现public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognize..
2020-08-02 12:12:31
1323
原创 [!] Unable to find a pod with name, author, summary, or description matching
场景:pod update 、pod search结果:[!] CDN: trunk Repo update failed - 19 error(s):解决:pod repo remove trunk继续 pod search xxx结果:[!] Unable to find a pod with name, author, summary, or description matching `MJRefresh`继续 pod install结果:Analyzing.
2020-07-30 16:10:35
2597
1
原创 Method cannot be marked @objc because the type of the parameter 1 cannot be represented in Objective
错误:Method cannot be marked @objc because the type of the parameter 1 cannot be represented in Objective-C场景:swift中有需要OC调用的方法,前面加@objc ,编译器报错翻译:方法中有一个参数没有变成OC解决方案,确保每个参数(主要包括,类和枚举)都已经桥接 Objective-C注意,枚举在文件内,在类外面,所以要在枚举前加@objc@objc enum GHNFol.
2020-07-28 11:14:34
8460
原创 iOS并行发送请求
- (void)viewDidLoad { [super viewDidLoad]; dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_group_t group = dispatch_group_create(); dispatch_group_enter(group); [NetWorkTool getUserInfoWithPhotoNum:@"111" compl..
2020-07-21 20:48:04
306
原创 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -ac
1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4v test...
2019-05-22 11:02:09
805
2
原创 ijkPlayer源码(iOS)学习第5天
今天代码有点看不动了,所以从网上找点学习资料,等学看完学习资料再继续研究https://blog.youkuaiyun.com/qq819853294/article/details/8296622https://www.jianshu.com/p/58a2777baf56https://blog.youkuaiyun.com/yao_hou/article/details/80559161...
2019-05-21 18:03:04
451
2
原创 ijkPlayer源码(iOS)学习第4天
继续看代码static int frame_queue_init(FrameQueue *f, PacketQueue *pktq, int max_size, int keep_last){ int i; memset(f, 0, sizeof(FrameQueue)); if (!(f->mutex = SDL_CreateMutex())) { ...
2019-05-20 18:02:57
653
原创 ijkPlayer源码(iOS)学习第3天
今天周末,收拾完小屋,继续学习研究ijk。书接上回,int ffp_prepare_async_l(FFPlayer *ffp, const char *file_name)这个方法是异步去准备播放file_name的内容的方法,再看其中代码,前半部分都是在对异常情况的处理,保证代码的健壮性。第六感告诉我最关键的代码是这句VideoState *is = stream_open(ff...
2019-05-18 22:21:47
671
原创 ijkPlayer源码(iOS)学习第2天
昨天研究了ijk初始化当中_mediaPlayer = ijkmp_ios_create(media_player_msg_loop);这一句代码背后的操作,遗留了一个问题,对于结构体IJKFF_Pipeline内部方法func_destroy的定义和复制的用法,第一次见。在定义的时候定义函数func_destroy;struct IJKFF_Pipeline { ...
2019-05-17 21:15:00
1174
原创 ijkPlayer源码(iOS)学习第1天
今天有个不错的主意,想用30天时间学习ijk源码,我也不知道自己能不能学明白,先强迫自己看30天代码,然后在博客做笔记,希望自己能有收获!第一天,先下载编译ijk。从IJKFFMoviePlayerController.m的初始化方法开始看起- (id)initWithContentURLString:(NSString *)aUrlString ...
2019-05-16 17:15:23
1367
原创 AttributeError: 'str' object has no attribute 'decode'
执行python3 manage.py makemigrations报错如下packages/Django-2.2-py3.7.egg/django/db/backends/mysql/features.py", line 82, in is_sql_auto_is_null_enabled cursor.execute('SELECT @@SQL_AUTO_IS_NULL...
2018-12-20 00:19:42
11456
4
原创 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11
链接数据库出错 1.cd /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/Django-2.2-py3.7.egg/django/db/backends/mysql 2 sudo vim base.py 3.把这两行代码注释#if version &...
2018-12-20 00:15:20
2719
1
原创 Mac 端口占用 That port is already in use.
启动Django服务报错使用 ps aux | grep -i manage可以查看所有端口占用的情况但无法找到具体的pid跟端口的对应关系 使用sudo lsof -i tcp:8000查看8000端口的使用情况 然后使用sudo kill 15765 杀死进程,这样就可以把端口空闲出来...
2018-12-18 15:46:31
934
原创 Your password has expired.To log in you must change it using a client that supports expired password
数据库密码失效问题在网上查找资料。只需要两步 1.mysql -u root -p --port=33999然后输入失效的密码2.set password=password('password');这样就可以完成修改密码 但执行过程中出现-bash: mysql: command not found 可以使用ln -s /usr/local/...
2018-12-18 11:22:01
1236
原创 python数据结构
Python数据类型 1 数字 整型(int) 长整型(long) 浮点型(float) 复合型(complex) 2字符串 三个引号的使用 索引:字符串以数组的形式存储,可以「」取里面的某个元素 切片:a「起始:结束:步长」 3 列表List 列表是...
2018-12-10 00:44:35
143
原创 AVPlayer 没有声音问题
问题:AVPlayer实现的音乐播放器,模拟器和给真机插上耳机的情况下有声音,但是拔了耳机就没有声音 解决方案 :加上下面这几行代码就可以//可播放可录音,更可以后台播放,还可以在其他程序播放的情况下暂停播放AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVA...
2018-11-27 16:29:18
4538
原创 iOS9系统自带字体
Family: ThonburiFont: Thonburi-Bold Font: Thonburi Font: Thonburi-Light 123Family: Khmer Sangam MNFont: KhmerSangamMN 1Family: Kohinoor TeluguFont: KohinoorTelugu-Regular Font: Kohinoor...
2018-10-29 10:49:41
1557
原创 RecyclerView初见
在build.gradle文件中引入该类。 compile 'com.android.support:recyclerview-v7:23.4.0'Activity代码public class MDRvActivity extends MDBaseActivity { private RecyclerView mRecyclerView; private Recycle...
2018-02-11 07:43:25
288
原创 EXC_BAD_ACCESS on [UICollectionView setCollectionViewLayout:]
UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout new]; //UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
2017-09-14 15:39:30
817
原创 Mac OS X上安装 Ruby运行环境
对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。此安装方法同样适用于产品环境!系统需求首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用:Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux
2017-06-28 14:13:24
296
原创 开设影评专栏
大家好:炎热的夏天,可一静下心来,写点东西的感觉真的很好,文笔很烂,基本都是流水帐,但我希望以我自己的方式记录自己经历过的东西,不管是学习到的问题,遇到的bug,亦或者是看过的电影。没错,我就是想在这个优快云这个平台上,记录自己看过的电影,一方面上了岁数了,看过的内容望的快,这样可以加深影响,另一方 面能记录自己当下这个阶段的想法,也许在当几年后翻看自己写的东西,或许有点搞笑,觉得现在的
2017-05-18 15:49:53
439
原创 iOS手势冲突问题
问题情景:在做一个视频播放器的时候,有一个需求播放界面,轻触一下,操作界面隐藏&显示轻触两下 视频 播放&暂停开始做的时候,在视图上加了两个手势,分别处理事件。问题来了。在 轻触两下的时候轻触一下的事件也会走。问题解决步骤1查资料http://www.jianshu.com/p/cfeb38e4bc94步骤2 实践。- (voi
2017-05-03 16:13:18
544
原创 Invalid bit code signature。 xcode8.3。bitcode问题
昨天升级Xcode8.3后,发现代码突然无法通过编译,报错error:Invalid bit code signature。然而在release下程序可以正常编译运行。
2017-04-27 11:19:48
7771
1
原创 swift使用cocoapods导入oc三方库
这里主要说几个关于cocoapods导入三方库需要注意的问题和我遇到的坑1、Swift语言使用cocoapods配置Podfile文件时要加上use_framework!这句代码,作用是把三方库打包成静态库,具体为什么我也在研究。。。2、swift调用oc的三方库 a、要建立一个桥接文件,然后在target——>build setting中搜索bridg把Objectiv
2016-12-29 23:40:20
1238
原创 Exception: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-9.0.1-py
Exception:Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main status = self.run(options, args) Fi
2016-11-29 17:03:59
42569
6
原创 cannot resolve symbol r
http://stackoverflow.com/questions/17054000/cannot-resolve-symbol-r-in-android-studio"Tools" -> "Android" -> "Sync Project with Gradle Files"就oK啦
2016-11-22 18:31:12
561
原创 Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
昨天还是可以运行的,今天运行Android Studio,一直提示:Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.解决方法菜单栏,Tools -> Adnroid -> enable ADB integratio
2016-11-22 15:12:41
275
原创 avformat_open_input超时问题
fmpeg用avformat_open_input()解析网络流时,默认是阻塞的。当遇到解析错误的网络流时,会导致该函数长时间不返回。为此可以设置ffmpeg的-stimeout 的参数,要注意 -stimeout的单位是us 微妙。用法就是设置在解析的 url 之前 (这里设置超时为5秒)即: “ffmpeg -stimeout 5000000 -i rtsp:
2016-10-28 18:37:23
8364
1
原创 吸一口老霾,体味生活的无味陈杂
时光荏苒,岁月如梭。又是一年国庆,来北京已经整整一年了。这一年,发生了许多许多的事,自己也进步了许多。还记得刚来北京的时候。对未来的憧憬,对自己的期望,对家人的许诺。五个月的学习让我变得自信。认识了许多很nice的人。刀哥,一个四十岁还为自己的事业操劳的男人,一有课,头天会备课到凌晨4。5点钟。方式不提倡,但精神深深的打动了我。在我看来。给我教的知识我并没有掌握多少,但给传递的能量却牢
2016-10-07 12:28:25
718
原创 File is a broken symbolic link:
今天升级xcode8 然后做的sok的demo 跑不起来了。看都错误是这个,当时比较蒙蔽,这个file 是自己sdk中的一个 .bundle文件。我在xcode编译顺序上调整了一下,还是不行。索性百度。发现说这个文件是个破碎的链接 啥玩意的。。当时比较迷惑。后来实在找不出来了。就按照提示的路径找到了这个文件,然后把这个文件删除。然后再编译 ,
2016-09-21 19:01:49
2264
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人