4 _uDoctor

尚未进行身份认证

希望同道中人来交流

等级
TA的排名 9w+

iOS:字符串分割,密码输入

万丈高楼平地起。今天是搭建UDKit的第N+1天了。系统虽然提供了很多基础控件,但是这远远不够我们日常开发需求了。今天是对 UITextField的一次包装。需要如下需求:或者这样的:那么我们的 UDTextFiled已经帮我们实现好了。用法大概如下1 :密码的输入//这是安全密码的输入self.view.backgroundColor = [UIColor colorWith...

2019-12-03 16:33:14

OpenGL 笔记-1配置和常用宏

1,开始的环境配置: gltSetWorkingDirectory(argv[0]); // 设置工作路径,防止在Windows上错误 glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH); glutInitWindowSize(800, 600); glutCreateWindow

2018-05-02 13:46:26

架构师之路(二):架构设计

一个好的或者成熟的架构首先要满足以下几点: 1,目录结构,清晰明了 2,高内聚,低耦合 3,灵活性强 4,可拓展性(可维护性)高大家设想一下,当你的项目有上千个类(特别是OC,一个类有两个文件)后,如果你们公司有新员工入职,并且短时间内要开发和维护项目!他如何是好? 如果刚好你们的项目没有详细文档,一般是口口相传,那恭喜了,没个一段时间(具体熟悉时间根据个人能力,是否有该方面的经验,

2017-12-07 17:51:52

Git 使用,分支创建,提交,合并,只能提交文件夹

1,在Git创建仓库 点击 【New project】创建工程的仓库在如下页面填写相关信息哈!注意:选择是公开的还是私有的,私有的只能是自己看见,还有个内部的选择,视具体情况而定2,全局配置在 Mac的终端 配置相关账户信息//类似于在你的MAC上添加你的账户信息,这个账户是Git权限管理人员分配的$ git config --global user.name "你的账户名"$ git con

2017-11-10 11:51:03

iOS11适配点击按钮崩溃

iOS 11出来也个把月了,一直被其他事(Cross Fire)耽误了,没时间总结一下,今天就结合我们适配的经验来填一下坑。问题一:项目换到iOS 11的环境下,点击页面按钮出现crash现象 1,在加班无数个夜晚后,终于知道原因了。一句话,就是不在主线程中修改了UI导致crash。 本来Xcode9 是可以提示这种错误的,但是有的比较隐晦的地方,它必须到运行时才能发现。而且不能定

2017-10-30 18:03:31

iOS 11降系统到iOS 10,苹果刷机图文教程

准备工作 1,官方渠道关闭后,只能通过刷机的方式降系统,把需要备份的数据备份一下(一般只有照片,通讯录,备忘录) 2,iTunes 软件一个 3,iOS 系统一个,去网上下载一个 开始啦 1,先按住手机的 【电源键】3秒,然后马上按住 【Home键】,两个键一起按,待屏幕亮了以后,松开电源键。直到 【iTunes】有弹窗提示,便可松开!这里可能有两种说法,一个是普通恢复模式,一个是DFU模

2017-10-30 15:23:23

陌生的NSUserDefaults

其实 NSUserDefaults 是比较强大的轻量级数据持久化的一个类。 他分为5个 作用域。依次是 参数域,应用域,全局域,注册域, 推荐两篇文章看这里 和这里

2017-10-25 15:11:51

iOS UITextField添加分割功能

这是一个比较简单的功能需求,给UITextField添加了一个分割间隙,就是输入银行卡号时,每4位数一组,便于区分,使用非常简单,也非常轻量级,就一个类。话不多少,直接上代码!!! 使用方法//1,先导入头文件#import "UITextField+TextSeparater.h"//2,设置间隔,3个一组,还是4个一组。。。 OK了,就这么方便self.testTF.separatedI

2017-10-25 14:44:58

架构师之路(一):需求功能分析

在编程的江湖中哪些人能成为江湖高手,取决于思考! 在开发的很多时候,理论一直被忽视,很多程序猿(以前也包括我)只关注怎么实现某个功能,而并不关注为什么要这样做?这样做的好处是什么?如果能在开发中带着这两个问题去思考,我相信成为ACE将会事半功倍! 一个成熟的架构设计者,会对架构中每个模块甚至每个功能做非常成熟的考虑!1-业务逻辑和需求功能 在项目开始前,先考虑几个问题: a,正确的登录逻辑是

2017-10-23 18:07:42

Instruments 中 Core Animation优化(二)

1-Color Blended Layers (图层混合) 这个选项是检测哪里发生了图层混合,先介绍一下什么是图层混合?很多情况下,界面都是会出现多个UI控件叠加的情况,如果有透明或者半透明的控件,那么GPU会去计算这些这些layer最终的显示的颜色,也就是我们肉眼所看到的效果。例如一个上层Veiw颜色是绿色RGB(0,255,0),下层又放了一个View颜色是红色RGB(0,0,255),透明

2017-10-12 16:39:52

加解密 理论基础 一

加解密分为两种 1:对称加密 他的优点是:效率高, 缺点是:安全性取决于秘钥的保密举个栗子: 两个人 舒克 和贝塔(准确的来说不是人)。他们两个写信又怕其他人看到,于是他们商量好:每个字母向后移动3位(可以理解为秘钥key=3),什么意思呢? e.g.:“I am Jack往后移3位,就是 “L dp mdgn”,反正我是不知道什么意思了 。然后贝塔来解密。往前移动3位,就还原回”I am

2017-10-11 13:59:54

Http长连接和管线化 Servlet NIO

我好像上了个假的网络! 网上对http长连接和管线化技术没有比较详细的说明。一下我这里也只是对这些概念做一个说明,具体代码后期 http长连接 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;他的好处: 1,同一个客户端可以

2017-07-27 17:54:26

Swift-WKWebView与JavaScript的细节,H5页面跳转原生界面

大家(也包括我)要学会 明白一件事情(注意断句,哈哈)。优秀的程序猿会将问题简单化。 世界上有10种人,一种是先把问题复杂化,然后在一点点的做减法;另一种是先把问题简单化,然后在慢慢的做加法;(好了该进入正题了哈哈!) 文中有源码地址 一,加载HTML的几种方式 /** * 1,加载网络html */ NSString * surl = @"http://19

2017-07-04 12:02:00

Mac 第一次忘记并重置mysql 密码

1,先到设置页面去把MySQL 服务stop *2,既然忘记密码,那肯定要跳过验证密码咯 终端先进入MySQL的bin目录,然后跳过验证进入MySQL,然后修改密码 a: $ cd/usr/local/mysql/bin/ (进入MySQL的bin目录)b: $ sudo su (Mac 登录管理员权限)c: 输入开机密码d: $

2017-06-26 12:00:23

Mac 误删(抹掉)系统后,恢复重装

书杨哥,今天给大家填坑了这篇文章是在误删系统后的操作!1,关闭电脑,开机后立马按住command+R键2,会出现一个地球,和进度条,如果没有意外的话,等待一段时间,会出现几个选项,你就选择重装系统就完事。3,如果网络恢复出现异常,那么关机,重启时立马按住option+command+R+P,听到两声响后,松开,可能他还会自动响一声。然后可以关机了。然后重复1

2017-06-19 11:11:29

iOS 优化一:

View的子控件:圆角性能测试 1,当屏幕中出现17个UIImageView 和 17个Lable,并对其进行圆角切割 self.lab1.layer.masksToBounds = YES; self.lab1.layer.cornerRadius=5; self.imgView.image = [UIImage imageNamed:@"header.jpg"];

2017-06-09 17:42:16

陌生的NSUserDefaults

其实NSUserDefaults是比较强大的轻量级数据持久化的一个类。他分为5个 作用域。依次是 参数域,应用域,全局域,注册域,推荐两篇文章http://blog.csdn.net/sponge_cmz/article/details/49798931https://yq.aliyun.com/articles/39183

2017-06-06 10:25:43

视频硬编解码初级篇

一:硬编码 1,初始化设备 a: 创建一个会话AVCaptureSession, b: 添加输入(AVCaptureDeviceInput ) c: 输出源(AVCaptureVideoDataOutput) d: 添加预览(AVCaptureVideoPreviewLayer)- (void)initVideoCapture{ _captureS

2017-05-18 16:15:19

移动客户端与后台通信方式三

这里用的是UDPsocket通信,需要注意数据包传输中的半包,粘包,与分包,注意包的长度,标识符等信息 iOS-swiftclass UdpSocketVC: UIViewController, GCDAsyncUdpSocketDelegate { var udpSoc: GCDAsyncUdpSocket? = nil; override func viewDidLoad() {

2017-05-08 14:58:32

移动客户端与服务器通信方式二

今天说的是iOS端socket通信 iOS-swift版本 var socket: GCDAsyncSocket? = nil; override func viewDidLoad() { super.viewDidLoad(); socket = GCDAsyncSocket.init(delegate: self, delegateQueue: Di

2017-05-08 14:37:55

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。