自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 Qt信号槽

信号和槽机制是 QT 的核心机制,所有从 QObject 或其子类 ( 例如 Qwidget) 派生的类都能够包含信号和槽。当对象改变其状态时,信号就由该对象发射 (emit) 出去,这就是对象所要做的全部事情,它不知道另一端是谁在接收这个信号。槽用于接收信号,但它们是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且,对象并不了解具体的通信机制。你可以将很多信号与单个的槽进行连...

2019-08-30 18:43:08 492

原创 Golang学习笔记-条件语句,循环语句

Go的条件语句,循环语句和C很像,不同的是Go的条件表达式可以不用括号扩起来,除此之外还有这些不同:switch语句switch分支中的代码执行完后会跳出switch代码块,如果我们需要执行后面的 case,可以使用fallthrough。func main() { a:=1 switch a { case 0: fmt.Println("a is 0...

2019-08-30 15:43:07 313

原创 Golang学习笔记-变量,常量,运算符

变量Go变量命名和C语言一样,由字母、数字、下划线组成,其中首个字符不能为数字,声明变量的形式为:var identifier typevar identifier1, identifier2 type例如:var strValue stringvar intValue1,intValue2 int如果没有初始化,则变量默认为零值(数值类型为0,布尔类型为false,字符串为空字...

2019-08-30 10:59:20 252

原创 C++并发低层接口std::thread和std::promise

std::thread用于启动和处理线程,相比高级接口std::async,它不提供这些性质:thread没有启动策略,它创建后就会尝试启动一个新线程执行任务,如果不能启动新线程则产生异常。thread没有接口可处理线程结果。如果线程中有未被处理的异常,程序会立刻终止,要想将异常传播到线程外,可以使用exception_ptr。在thread销毁前你必须调用join方法等待线程结束或de...

2019-08-29 18:08:59 386

原创 UITextField默认输入法不是简体拼音的问题的解决方法

今天遇到一个诡异的问题,某页面的UITextField的默认输入法不是简体拼音,而在该页面新建一个UITextField又是正常的,用新的UITextField替换旧的然后删除旧的,你会发现新的UITextField又不正常了。最后我用了一个很龊的解决方法,用新的UITextField替换旧的,将旧的UITextField的width和height都修改为1(隐藏或将width和height修改...

2019-08-29 16:28:29 598

原创 Golang学习笔记-基本类型

整型类型名称有无符号大小int8是1字节int16是2字节int32是4字节int64是8字节uint8否1字节uint16否2字节uint32否4字节uint64否8字节int是编译的目标平台为32位时占4字节,64位占8字节uint否编译的目标平台为32位时占4字节,64位占8...

2019-08-29 11:34:21 190

原创 编程范式

结构化编程结构化编程采用顺序结构,分支结构,循环结构代替goto语句,它对程序控制权的直接转移进行了限制和规范。面向对象编程面向对象编程中有三个概念:封装,继承,多态,这些特性并不是面向对象编程所独有的,在C语言中也能实现这三种特性:封装:头文件和源文件也是封装的一种,头文件暴露接口,源文件隐藏实现细节。继承:如果A结构体和B结构体前面的结构一样,那么我们可以说B继承了A。多态:使用...

2019-08-28 22:12:35 216

原创 iOS多线程之GCD的使用

串行队列和并行队列在系统底层,程序是运行在线程之中的,为了简化线程操作,GCD封装了队列的概念用来处理任务。串行队列一般只分配一个线程,所有任务按照进入的先后顺序来处理,并行队列至少分配一个线程,多个任务可以同时处理。创建队列convenience init(label: String, qos: DispatchQoS = .unspecified, attributes: Dispatc...

2019-08-28 18:25:24 213

原创 C++并发高级接口std::async和std::future

std::async()可以让一个可调用对象在一个独立线程中运行,std::future<>允许你等待线程结束并获取其结果,下面代码中,async()尝试将函数立刻异步启动于一个分离的线程,然后返回一个future对象允许你取得函数结果或异常。当future对象的get()被调用时,以下三种事情之一会发生:如果函数被async()启动于一个分离线程中并且已结束,你会立刻获得结果。...

2019-08-27 22:23:12 1008

原创 Android中Activity的四种启动模式

onNewIntent()如果启动Activity时不创建新的实例而是重用之前的实例,则会调用onNewIntent()方法。standard标准模式,也是Activity的默认模式,这种模式下的Activity可以被多次实例化。singleTop栈顶复用模式,如果Activity处于栈顶,再次启动这个Activity时,不会创建新的实例,而是重用位于栈顶的实例。singleTask...

2019-08-27 17:30:50 225

原创 解决安装App后点击打开引起的问题

问题项目发版当晚发现的:安装完APP后直接点击打开,接着Home键退到后台,再次打开App 时发现重启了。试了一下去哪儿,陌陌等几个主流app,也有这个问题原因The Launcher starts an app using an intent with android.intent.action.MAIN action and android.intent.category.LAUNCH...

2019-08-27 16:27:10 747

原创 拦截Android App中的域名解析

在App使用域名访问网络时,域名解析是网络请求的第一步,该过程有时候会出现解析慢或域名劫持的情况。我们可以通过拦截域名解析直接返回自定义的IP或者使用HTTPDNS解析域名,如果App使用的是OKHttp,可以直接使用OKHttp的DNS接口进行拦截。如果App访问网络的库没没有提供类似OKHttp的DNS接口,我们还可以通过hook getaddrinfo和android_getaddrin...

2019-08-27 14:56:51 2269

原创 ViewModel的生命周期

ViewModel的生命周期依赖于对应的Activity的生命周期,通常会在Activity第一次onCreate()时创建ViewModel,Activity在生命周期中可能会触发多次onCreate()(例如配置发生变化),而ViewModel只会在第一次onCreate()时创建,ViewModel的生命周期一直持续到Activity最终销毁。...

2019-08-27 12:30:00 6294 1

原创 ViewController跳转的两种方式

模态跳转使用present可以以模态方式显示ViewController,当ViewControllerA以模式方式显示ViewControllerB后,ViewControllerA的presentedViewController属性会设置为ViewControllerB,ViewControllerB的presentingViewController属性会设置为ViewControllerA...

2019-08-27 10:27:41 763

原创 注释规范

注释的作用是弥补我们在用代码表达意图时遭遇的失败,如果你发现自己需要写注释,说明你的代码的表达能力不够,这个时候应该想下能否使用更好的代码来表达。代码在变动,但是注释不总是随之变动,随着时间的流逝,注释常常用其所描述的代码分隔开来,越来越不准确,与其把精力放在维护注释上还不如把力气用在写清楚代码。不准确的注释不如没注释,只有代码能忠实地告诉你它做的事,所以,尽管有时候也需要注释,我们也应该多花...

2019-08-26 23:38:09 324

原创 Golang学习笔记-基础知识

包Go源文件中非注释的第一行需要指明这个文件属于哪个包,每个 Go 应用程序都包含一个名为 main 的包,package main表示一个可独立执行的程序。要使用其它包的代码需要使用import引入包。package mainimport ( "fmt")func main() { fmt.Println("Hello, World!")}标识符当标识符(...

2019-08-26 18:33:19 241

原创 __bridge,__bridge_retained,__bridge_transfer

https://blog.csdn.net/geekdonie/article/details/44437949

2019-08-26 16:57:55 188

原创 使用Xcode Instruments Leak检测内存泄漏

https://www.jianshu.com/p/db504d233176

2019-08-26 15:16:35 2126

原创 函数规范

函数要尽可能的短小,最好不要超过20行。函数应该只做一件事,如果函数只是做了函数名下同一抽象层上的步骤,则函数还是只做了一件事。如果函数还能再拆出一个函数,说明这个函数不止做了一件事,被拆出的函数不仅只是单纯地重新诠释其实现,而是又生成了另外一个抽象层。函数中的语句最好在同一抽象级上,而不是既有高等抽象概念(例如调用封装好的接口),又有低等抽象概念(例如直接操作数据)。...

2019-08-25 21:29:41 751

原创 UIDeviceOrientation和UIInterfaceOrientation

http://www.cocoachina.com/articles/19808

2019-08-23 18:35:07 1083

原创 UISearchBar取消按钮不可用的解决方法

1.UIView或者继承UIView的都有endediting方法,调用这个,不会失去焦点,但是会收回键盘2.放弃uisearchbar焦点时,设置取消按钮的enable位true

2019-08-23 16:10:45 776

原创 App Store审核被拒原因以及解决方案总结

App Store审核被拒解决方案总结

2019-08-23 12:05:14 705

原创 Swift,Objective-C,C,C++混合编程

swift/C/C++/OC混编

2019-08-22 18:50:10 287

原创 MSVC编译器的选择(x86,amd64_x86,amd64,x86_amd64)

https://blog.csdn.net/WL2002200/article/details/52984241/结论32/64 位系统编译在32位系统上运行 => x8632 系统上编译64位系统上运行 => x86_amd6464 系统上编译在64位系统上运行 => amd64解释注:以下引自MSDNThe following list describes th...

2019-08-22 16:38:15 8391

原创 Cydia不能联网的解决方法

cydia联网问题

2019-08-22 15:52:10 7422

原创 使用Cydia Impactor免越狱安装ipa

cydiaimpactor

2019-08-22 14:49:56 13706

原创 Golang学习笔记-交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。Mac 下编译 Linux 和 Windows 64位可执行程序CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go...

2019-08-15 23:46:00 382

原创 代码命名规范

有意义的命名代码中的命名应该名副其实,使人一眼看上去就知道是它们为什么存在,做什么事,应该怎么用,如果需要注释来补充,就不算是名副其实,一旦你发现有更好的名称就应该换掉旧的名称。代码中的命名应该避免误导,应当避免使用与本意相悖的词,例如使用bookList来表示一组书籍,除非它真的是List类型,否则会引起错误的判断,这个时候使用bookGroup或books更好。代码中的命名应该做有意义...

2019-08-15 22:51:38 2318

原创 支持水平和垂直滚动的UICollectionViewLayout

class CollectionViewGridLayout:UICollectionViewLayout{ @IBInspectable var cellWidth:CGFloat=50 @IBInspectable var cellHeight:CGFloat=50 @IBInspectable var verticalSpacing:CGFloat=1 ...

2019-08-14 12:23:26 880

原创 使用Golang转发HTTP流数据

package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte("fm transfer")) }) http.HandleFunc("/fm", hand...

2019-08-13 00:31:11 4779

原创 设置LaunchScreen.storyboard竖屏显示

有时候我们希望App启动页竖屏显示,其它页面既可以竖屏又可以横屏,而在使用LaunchScreen.storyboard作为启动页时,由于LaunchScreen.storyboard无法使用自定义的ViewController,所以也没办法覆盖supportedInterfaceOrientations属性来修改启动页支持的界面方向,这个时候我们可以将Info.plist设置为仅竖屏显示,然后在...

2019-08-07 14:55:38 4386

原创 解决UITabBarItem图标不是彩色的问题

将图标的Render As由Default设置为Original Image即可。

2019-08-06 11:47:07 262

原创 iOS App四种发布方式的区别

ios上架打包流程

2019-08-05 13:27:20 1571

原创 Android中ScrollView常见问题

https://www.jianshu.com/p/3e710a5ee50b

2019-08-05 11:20:06 933

原创 Android使用R8压缩,混淆,优化App

android代码混淆规则以及基本设置

2019-08-02 18:51:23 8544

原创 Android中ABI和CPU的关系

https://www.veryarm.com/6601.html

2019-08-02 11:42:08 922

原创 UIView的常见使用方法

UIButton不能点击情况的第二种是,你对button修改frame时,出现button的frame超过了父View的frame。这种情况也会导致button点击不能触发点击事件,这种情况只需要重新就该button的frame,并让button的frame不超过父View的frame。...

2019-08-01 18:14:44 433

原创 iOS上使用Quartz 2D绘制Bitmap

浮点数转换为整形出错导致画面显示问题计算像素内存起始地址时,浮点数转换为整形时出错,导致不是4的倍数,导致画面出错

2019-08-01 16:21:37 289

原创 设置socket connect超时时间的几种方法

BSD内核:TCP_CONNECTIONTIMEOUTlinux内核:TCP_SYNCNT

2019-08-01 12:34:40 21128 2

原创 iOS证书信任设置

下载证书后去设置=>通用=>描述文件安装描述文件。设置=>通用=>关于本机=>证书信任设置=>信任证书

2019-08-01 11:18:29 6268 1

输入法注入之delphi版

输入法注入之delphi版。。。。。。。。。

2010-08-25

delphi小键盘控件

模仿QQ小键盘写的一个小键盘控件,可以自定义小键盘的各种颜色,大小,位置,字体,还可以使用渐变图像代替颜色,使按键更加好看!

2010-05-28

空空如也

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

TA关注的人

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