- 博客(130)
- 资源 (3)
- 收藏
- 关注
原创 二叉排序树(BST)
这里在使用中序遍历之后,得到 [18, 20, 21, 22, 26, 28, 30, 32, 34, 35, 36, 40]。在上一篇中,最后谈到了满二叉树及堆,特别是堆,可以解决数据排序的问题。如果当前节点不为空,就对当前节点与新插入的节点进行比较。如果新插入节点小,就放在当前节点的左侧,否则放入右侧(此为该递归函数的递归条件)。如何找到能顶替数值22的节点,就需要从二叉排序树自身的特性来分析该问题。在插入数据时,先判断该节点是否为空,如果为空就创建并返回该节点(此为该递归函数的基线条件)。
2025-03-29 08:28:31
413
原创 使用VS2022编译CEF
这里运行bat,不仅可以安装Python和Git,还可以检测网络连通情况,这里的连通主要是指访问Cef和Chromium源码的情况。_party\ffmpeg\chromium\config\Chrome下的win\x64\config.h,修改CONFIG_SIPR_PARSER的值为1。最好使用clash并开启TUN模式,这样就可以轻松访问所有资源,而检测TUN模式是否开启的方式,就是在CMD下执行ping,是否能ping通。这里主要看Windows下的编译要求信息,其它系统下的请自行匹配。
2025-03-23 19:09:54
973
原创 二叉树及堆
在数据结构中,树是一种特殊的存在,很多高效率的算法都使用树结构来实现。树结构取自于现实中的树,有根有枝有叶,一个根节点多个叶节点。这就是一个树结构,树结构中有一种特殊的结构,就是二叉树结构,二叉树的根节点下最多只有两个叶节点。二叉树的数据结构表示二叉树的遍历方式这几种遍历方式,主要是以根节点为基础进行数据的输出。前序遍历是先输出根节点,然后输出左子节点,再输出右子节点。中序遍历,先输出左子节点,而后是根节点,最后是右子节点后序遍历,先输出左子节点,再输出右子节点,最后输出根节点。
2025-03-21 06:50:47
979
原创 C++线程池
使用线程情况比较频繁的地方,由于线程的创建及销毁都会产生对资源的占用及性能的损耗。为了优化性能,提升效率,在这种场景中,就应该使用线程池来处理任务。
2025-02-09 22:14:13
160
原创 iOS 11下layoutSubviews调用改动
iOS 11中view移动时,当y值在statusBar之下时,会调用layoutSubViews方法。如果y值不在statusBar之下就不用调用。当有NavigationBar时,当y值在NavigationBar或statusBar之下时,会调用layoutSubViews方法。如果y值不在NavigationBar或statusBar之下就不用调用。在iOS 11以下的版本中,不会调用。
2017-12-13 16:48:41
851
原创 lottie简单试用
Airbnb lottie,一个用json来实现动画的开源项目。通过Bodymovin导出Json文件,然后用lottie在Android、iOS和React Native上实现动画效果。与手写动画相比,节省了不少的时间,而且还兼容Android、iOS。 软件安装步骤: - 1、首先需要安装AE。 - 2、安装完成之后,需要安装Bodymovin插件,安装Bodymovin时按照方法一,下载
2017-02-13 14:46:01
2233
原创 iOS 10下网络请求返回Error code=-1005问题修复
wifi情况下,在iOS 10上大概率的出现code = -1005,但在iOS 9,iOS 8,iOS 7上都没有问题。而且移动网络下也没有这个问题。通过谷歌,在苹果论坛中找到了相同情况的帖子。当时还以为是苹果的bug。但通过测试许多大厂的App都没有此问题,而且Android也没有问题,所以就怀疑是iOS App端问题。于是就想自己写一个简单的测试网络服务,只返回和当前App上相同数据量的jso
2017-02-10 10:06:08
37701
原创 RN中RCTScrollView中属性重名
在更新到Xcode8之后,RN中的RCTScrollView中refreshControl属性的setter方法出错, 代码如下:- (void)setRefreshControl:(RCTRefreshControl *)refreshControl{ if (_refreshControl) { [_refreshControl removeFromSuperview]; } _r
2016-09-19 14:35:57
1809
原创 ABPeoplePicker在iOS10中crash
在iOS10中使用ABPeoplePicker获取联系人电话号码时,直接crash。 在stackoverflowstackoverflower地址中搜到,这个Address Book API 在iOS9已经被废弃,用Contacts Framework替代。 这样只需要把ABPeoplePickerViewController替换为CNContactPickerViewController。具
2016-09-19 14:32:05
1089
原创 iOS App Crash日志
在开发App阶段,如果出现了Crash,可以通过Debug area,看出Crash的原因。但应用上线后,怎么去查看Crash Log呢?可以通过以下4种方法查看通过iTunes同步功能,可以把Crash Log同步到Mac或PC上MacOSX: ~/Library/Logs/CrashReporter/MobileDevice/Windows XP: C:\Documents and Sett
2016-08-24 15:46:00
859
原创 指纹识别
苹果在iOS8之后开启了指纹识别的功能,如果想让自己的App能够使用指纹识别功能,必须要满足一定的条件才行。开发文档 1. 必须是iPhone5s之后的设备 2. 系统版本必须在等于或大于iOS8具体实现使用指纹识别,必须要引入LocalAuthentication.framework。引入之后,需要import <LocalAuthentication/LocalAuthentication.
2016-08-22 14:41:05
781
原创 iOS App对IPv6的支持
从2016年6月1号之后发布或更新App必须要支持IPv6。如果不支持IPv6,直接就会被拒。通过苹果官方文档上提供的方式配置IPv6网络,而后进行IPv6测试,应用跑的很溜,没有出现网络报错和请求慢的问题。但当把App提交给苹果审核时,缺被拒了。而且被拒的理由竟然是: We discovered one or more bugs in your app when reviewed on iPad
2016-08-10 09:37:19
5514
原创 OC的私有、保护、公有和KVC
正确理解私有、保护和公有在OC中属性默认都是公有的。如果有私有、保护和公有成员的需求,也可以通过OC关键字进行设置。The Scope of Instance VariablesTo enforce the ability of an object to hide its data, the compiler limits the scope of instance variables—that i
2016-08-04 16:17:32
1095
原创 self和Super的msgSend
下面代码输出值引出对Self和Super的msgSend的思考@interface Father : NSObject@end@implementation Father@end@interface Son : Father@end@implementation Son- (instancetype)init{ if (self = [super init]) { N
2016-07-29 17:49:25
856
原创 category探索
apple推荐category的使用场景给现有的类添加方法可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处 可以减少单个文件的体积可以把不同的功能组织到不同的category里可以由多个开发者共同完成一个类可以按需加载想要的category等等声明私有方法 声明私有方法是指,在原类的.m文件中定义category,且category在implement之前,这时在c
2016-07-21 15:29:16
740
原创 NSScanner用法
NSScanner,可以在字符串中扫描指定的字符,并把他们翻译或转换为数字和别的字符串;从头到尾扫描整个字符串的每个字符。 初始化方法: 1. initWithString 2. scannerWithString 3. localizedScannerWithString 刚创建的scanner对象指向字符串的开头。方法setCaseSensitive: //是否忽略大小写,默认是忽略
2016-07-12 11:29:06
621
原创 NSArray和NSSet对比
NSArray和NSSet都是用于存储对象的集合;NSSet、NSMutableSet声明的对象,是无序的集合,在内存中存储方式是不连续的;而NSArray、NSMutableArray声明的对象,是有序集合,在内存中的存储位置也是连续的。NSSetNSSet *set = [NSSet setWithObjects:@"1", @"2", @"3", @"4", @"5", @"6",@"7",@
2016-07-06 17:24:26
750
原创 设置navigationbar上得字体和颜色
设置navigationbar上标题的字体和颜色NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor appTextBlackColor], NSForegroundColorAttributeName, [UIFont systemFontOfSize:18], NSFontAttributeNa
2015-09-26 09:50:27
5330
原创 dispatch_async和dispatch_sync在dispatch_get_main_queue上的区别
dispatch_async中加入dispatch_get_main_queue中,是异步运行中把主队列中的运行任务放到主线程中去运行。而dispatch_sync中的dispatch_get_main_queue,是在主线程中运行主队列,当把主队列中得任务放到主线程时,会和dispatch_sync进行线程争夺。这时就会产生线程死锁。
2015-09-26 09:45:47
2396
原创 Xcode7,iOS9下primaryLanguage属性报错
xcode7 ios9下primaryLanguage属性报错,只需要修改为NSString *lang = [[NSLocale preferredLanguages] objectAtIndex:0];即可参考链接:http://stackoverflow.com/questions/3910244/getting-current-device-language-in-ios
2015-09-23 15:29:05
1482
原创 mac下git的简单使用
设置SSH key,在terminal下ssh-keygen -t rsa -C "你的邮箱地址"cat ~/.ssh/id_rsa.pub之后把整个从ssh开始到你的用户名结束的字段都上传到服务器上pbcopy 这样就能使用git的ssh模式了git clone git@。。。。clone下来项目主分支git checkout 分支版本 切换到其他分支
2015-09-21 21:15:11
459
原创 lanucherImage显示时加载网络任务
显示launchimage直到网络任务完成- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launc
2015-09-02 15:32:38
483
原创 Block的认识和使用
Blocks是Objective-C的匿名函数。block是iOS在4.0之后新增的程序语法。Blocks有三种类型,_NSConcreteGlobalBlock,_NSConcreteStackBlock和_NSConcreteMallocBlock。1._NSConcreteGlobalBlock 全部的静态block,不会访问任何外部变量。2._NSConcreteStackBl
2015-08-30 20:59:35
1064
原创 在NSUserDefaults中保存自定义的对象
在iOS开发中,需要用到一些回调值(从A到B,从B返回时把B中的值带回A中),其实方法也很多(delegate,block,nsuserdefaults等)。我想用NSUserDefaults回调一个我自定义的对象。于是我就直接去setobject这个对象,这是程序就出现crash,crash信息为reason: 'Attempt to insert non-property list obj
2015-08-14 22:15:53
842
原创 iOS UItableviewcell选择背景颜色和字体颜色设置
在iOS7之后,cell的选中样式UITableviewcellStyleBlue不再变为蓝色。 官方文档: UITableViewCellSelectionStyleBlue The cell has a default background color when selected. In iOS 7, the selection color is no longer blue. Use
2015-08-05 11:39:20
1959
原创 ios添加openssl
在xcode中添加openssl文件之后,需要在TARGETS中Build Settings中找到Header Search Paths中添加到openssl文件夹之前的路径。如果在根目录中,添加这个$(SRCROOT)/即可,否则在后面添加相应的文件夹名称。
2015-05-19 15:41:44
884
原创 百度地图API,指定比例尺大小
百度地图在自动定位时,出现的比例尺大小是默认的5公里。但这个范围太大,不能满足应用需求,需要在定位时指定比例尺大小。通过摸索和查询,终于找到了解决方法。就是要在定位监听中加入以下代码, float f = mBaiduMap.getMaxZoomLevel();//19.0 最小比例尺// float m = mBaiduMap.getMinZoomLevel();//3.0 最大
2014-09-02 11:10:41
10780
原创 android,百度地图只见网格不见图层
在android开发中,使用百度地图功能,出现了只见网格不见图层的问题,经过一番查找,才得出是由于自己错误的使用了apk自己的sha1值来申请key才导致这样的问题。在申请key时,需要使用eclipse中android下build的sha1值。这样就正常了。
2014-08-11 10:54:46
1979
原创 ios后台推送那点事
近期做个项目要使用推送,虽然以前也做过,但没有仔细研究过,于是就趁着这次机会好好研究一把。以前做推送,都是生成cer文件,把文件教给服务器端处理。这次要自己对服务器处理,的确在这上费了一番周折。但在参考过这篇文章(http://blog.youkuaiyun.com/showhilllee/article/details/8631734)之后,就很快解决了。接下来就是对客户端上的设置了。在客户端上首先注册
2014-04-12 10:49:57
2335
原创 加载tabbar的视图在启动后直接push到下一界面出现navigationbar失效的解决方法
项目中用到推送消息在应用打开时直接push到消息显示页,由于使用了自定义tabbar,在push到消息页后,需要把tabbar隐藏,但在viewDidAppear之前push,tabbar就不会隐藏。而在viewDidAppear中push,会出现navigationbar失效的问题。经过测试,终于在使用self.navigationController.navigationBar.userI
2014-04-10 15:05:03
1512
原创 android下imageview设置.9图片
在xml中对imageview进行src的.9图片设置。但设置后却没有拉伸,经查阅后才知道.9只针对background来进行拉伸,对src不起作用。然后就把imageview的background进行.9文件设置。果然可以拉伸了。但这个.9文件,我只想进行横向拉伸,所以没有设置纵向的拉伸线。这时在imageview中的.9文件竟然显示出了黑线,于是又进行了纵向拉伸线的设置,这样就可以正常实现拉伸
2014-04-05 12:34:18
3846
1
原创 imagebutton添加.9图片文件
android中的imagebutton添加.9图片,总是不能完整的覆盖imagebutton全部。在查询后得知可以通过设置android:scaleType="centerCrop"和android:padding="0dp"来让.9图片全部覆盖imagebutton。这样就可以完整的填充imagebutton。
2014-04-03 22:59:29
1787
自定义datepicker
2014-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人